HP的NetXtremeⅡ适配器上的白皮书 (包括我正在测试的特定NIC )声明(第7页),它们的小数据包性能最高可达256个字节/数据包,超过5,000,000包/秒。
在我用一个应用程序进行的测试中,除了UDP接收部分之外,我禁用了所有的处理,我只能达到12万个数据包/秒。分组平均分布在12个多播组上。
我注意到有一个核心(在两个插座上的每12个核心中),当我提高UDP发送速率时,其负载逐渐增加,并且最大值在12万左右。但我不知道核心在做什么以及为什么。在我的应用程序中,这不是一个单线程瓶颈,因为我是为所有多播组运行一个应用程序实例,还是为每个多播组运行一个多播组的12个实例,这并不重要。所以瓶颈不是我的接收器应用程序。
MSI被启用(通过设备管理器中的“按类型划分的资源”视图验证),RSS也在NIC设置中启用,有8个队列。那么,什么是紧紧抓住这一核心呢?所有的网卡卸载功能目前是打开,但关闭他们没有帮助。
那么瓶颈在哪里呢?
系统详细信息:
发布于 2015-05-24 15:29:32
RSS也是在NIC设置中启用的,有8个队列。
不幸的是,这并不意味着RSS被采用,因为
netsh int tcp show global
显示:
TCP Global Parameters
----------------------------------------------
Receive-Side Scaling State : disabled
运行后(顺便说一句,没有重新启动)
netsh int tcp set global rss=enabled
RSS开始工作,以前堆在这个可怜核心上的负载现在在两个NUMA节点之一的多个核心上均匀分布。
我还没有核实这是否允许我处理Mpps的负载广告,但上限已被充分提高,以基准我需要什么。
https://serverfault.com/questions/693295
复制相似问题