首页 > 解决方案 > 对服务器的连续 UDP 请求无法按预期工作

问题描述

目前我正在开发一个性能测试工具,我必须开发一个用于负载测试的 UDP 请求测试插件。我试图连续发送大量请求来监控服务器可以处理的最大负载。我的目标是通过发送最大数量的请求使应用程序没有响应,但我没有得到预期的结果。我的测试应用程序在我的本地环境中启动并运行。是实现的错误还是配置的错误。请帮忙。

//UDPRequests.groovy
package com.udp.testsubject;

import java.security.SecureRandom;

public class UDPRequests {
    static void main(String [] args) {

        DatagramSocket socket = null;
        InetAddress address = null;
        byte[] buf = new byte[65507];
        SecureRandom random = new SecureRandom();

        //following paramters will get from a property file
        String ipAddr = '127.0.0.1';
        int portDst = 4445;
        int numberOfRequests = 1200000;

        socket = new DatagramSocket();
        address = InetAddress.getByName(ipAddr);
        random.nextBytes(buf);
        DatagramPacket packet = new DatagramPacket(buf, buf.length, address, portDst);

        try {
            printf("[*] Start send requests to %s:%d\n", ipAddr, portDst);
            int count=0;
            while (count < numberOfRequests) {
                count++;
                socket.send(packet);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

        socket.close();
    }
}

标签: javagroovyudp

解决方案


推荐阅读