У меня есть две простых программы Java, чтобы генерировать и получить использование сообщений UDP DatagramSocket.
Генератор
String message = "MyMessage";
byte[] data = (message).getBytes();
DatagramPacket packet = new DatagramPacket(data, data.length, host, port);
socket.send(packet);
Получатель
DatagramSocket serverSocket = new DatagramSocket(port);
DatagramPacket receiveData = new byte[1024];
receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
String message = new String(receivePacket.getData());
Так генератор генерируют сообщения, и получатель получают их. В окнах я могу подойти к 200 000 сообщений в секунду. Но в Ubuntu это - 100 000 сообщений в секунду (половина значения от среды Windows).
Не только, что кажется, генерирую ли я 50,000 в секунду на Ubuntu затем, получатель поймает вокруг только 30 000. И если генератор генерирует 100,000 затем выгода получателя 60,000. Аналогично для 200 000 это поймает только 100 000 в получателе.
Я не уверен, почему это работает хорошо на окнах и не на Ubuntu. Мы протестировали и на Ubuntu настольные и на серверные версии.
Кто-то мог помочь мне?
Спасибо!