Ho una semplice applicazione C# che utilizza il multicast UDP in uno scenario single-receiver, single-sender. L'obiettivo è ottenere la consegna dei messaggi il più rapidamente possibile in un ambiente di rete locale.Prestazioni multicast UDP sotto carico
Ho usato SocketAsyncEventArgs/SendAsync/ReceiveAsync, BeginSend/BeginReceive, Threads/Send/Receive e ho provato sia il multicast PGM che UDP.
Ogni tentativo di implementazione funziona OK per la consegna ripetuta di messaggi fino a circa 1000 messaggi con invio locale, ricezione locale. Successivamente, le prestazioni iniziano a scendere in modo esponenziale. Dove 1000 messaggi richiedono alcuni centesimi di secondo, 10.000 messaggi potrebbero richiedere da 2 a 10 secondi.
Qualcuno ha esperienza nel multicasting UDP/PGM ad alte prestazioni? Qual è il miglior design per ottenere il massimo rendimento?
Aggiornamento
In questo momento, è solo un singolo programma in esecuzione a livello locale - 1 applicazione con 1 mittente e ricevente 1. I messaggi di test sono 4 byte.
Grazie per le informazioni ben ponderate. – Anton
Nessun problema. Sono in trincea con questa roba anche in questo momento. :) –