我有UDP套接字的接收性能问题。
不同机器上的多个应用程序正在不同的套接字上发送UDP多播消息。当通过UDP加载大数据负载的系统时,接收器应用程序以大约10 MB /秒的速度接收。过了一段时间,比如说2个小时,一些接收器机器经历了大约1 MB /秒的下降。
如果在这些机器上重新启动接收器应用程序,它们仍会遇到同样的问题。但是,如果在重新启动应用程序之前等待大约一分钟,则再次以10 MB /秒的速度接收。
我认为这可能是因为其中一个接收套接字的缓冲区溢出,因此其他套接字被阻止以某种方式进行读取。
有没有人遇到过类似的问题,或者有一个可能是什么原因的理论?我可以用溢出缓冲区识别套接字,以某种方式刷新它,以便其他接收器套接字线程可以正常读取它们的数据吗?
注意:有一件事有助于禁用网络限制机制(NetworkThrottlingIndex = ffffffff),但增加数据网络负载仍然会导致同样的问题。