O UDP está ligado à CPU e à largura de banda . Envia pacotes sem garantir que eles sejam enviados, transmitidos ou recebidos.
- Se a CPU do remetente estiver muito ocupada, o pacote nunca será enviado.
- Se a largura de banda não puder acompanhar, os pacotes são descartados em trânsito.
- Se a CPU do receptor estiver muito ocupada ou não estiver pronta para processar dados da rede de entrada, ela será perdida.
- Se o aplicativo não extrair os pacotes do sistema operacional (e processá-los) com rapidez suficiente, eles serão perdidos.
De um modo geral, os desempenhos UDP não têm sentido. Nada impede que você tente enviar pacotes de 1 bilhão por segundo. Isso satura a CPU e a rede do remetente, enquanto o receptor pode não receber muita coisa.
Se você realmente quiser testar o UDP, esse é um tópico bastante longo e digno de um livro. Para começar, você precisa monitorar as taxas de erro e quais dados são realmente enviados / recebidos.
Você deve testar com o TCP para medir a largura de banda disponível entre os hosts. iperf
deve ser capaz de fazer isso bem.