每秒最大数据包.NET套接字

时间:2011-05-01 01:24:36

标签: .net sockets packet rate

我意识到性能与机器有关。但是,假设有两个核心i7 PC,它们之间有一个千兆位的局域网,其中一个发送1k数据包的速度尽可能快,一个接收它们,那么粗略猜测你每秒会有多少数据包?

我问,因为我正在使用原始套接字实现协议,我可以每秒发送大约100,000个1k数据包,但我似乎只能接收20,000到40,000pps之间的某个地方。发送非常稳定,但每秒的接收数据包在两个值之间变化很大。 当我达到此接收限制时,CPU util约为20%。为什么发送显然比接收快得多?

我没有对接收进行任何处理,只是在最后一次接收后使用相同的缓冲区再次调用receive。我正在使用BeginSendTo和BeginReceiveFrom以及相应的EndReceive等。 也许20-40,000 pps非常好? 其他人实现了什么样的pps,你是否开始以较高的数据包速率丢失任何数据包? 如果你想从插座tx / rx中“拧干每一盎司”,最好的方法和注意事项是什么。

尝试欢迎的所有指针/想法。

0 个答案:

没有答案