加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

windows-server-2008-r2 – windws server 2008 udp组播性能问题

发布时间:2021-01-13 16:14:04 所属栏目:Windows 来源:网络整理
导读:我在2008 R2 Enterprise SP1上遇到了一个奇怪的性能问题. 这是设置: 许多进程侦听不同的多播UDP流(5个多播 按进程监听)绑定在单个NIC上 跨进程,所有多播使用相同的端口范围但不同的多播IP(重要的细节,因为给定端口的每个多播接收器将是REUSED服务器套接字的

我在2008 R2 Enterprise SP1上遇到了一个奇怪的性能问题.

这是设置:

>许多进程侦听不同的多播UDP流(5个多播
按进程监听)绑定在单个NIC上
>跨进程,所有多播使用相同的端口范围但不同的多播IP(重要的细节,因为给定端口的每个多播接收器将是REUSED服务器套接字的服务器)
>每个进程多播侦听带宽为10Mbits
>在NIC上设置RSS,在NIC& amp;上设置最大卸载设置. OS,MSI激活

行为:

> 17个以下的监听进程(大约85个加入UDP多播),内核
CPU影响是可以忽略的.
> 17岁至17岁之间22名听众(约110名加入
UDP多播),内核CPU使用率开始缓慢增长但是
接受
> 25以上,每个加入的组播开始产生巨大影响
在内核CPU时间内,这会影响所有RSS绑定的CPU
>每个侦听过程使用的CPU时间接近0(正常,因为进程除了读取多播之外什么都不做),所以真正的问题在于
操作系统组件

我们发现了什么:

>更改NIC硬件对行为没有影响(在HP NC382i上测试过,
基于Broadcom的NIC& HP NC365T,四核千兆,基于Intel)
>全局接收带宽不是限制因素(单个500Mbits流
不会触发CPU负载)
>阅读多播套接字似乎不是限制因素(我们
只使用dumb JOIN进行测试,只对多播流进行处理并重现CPU负载问题)
>拆分两个网卡上的多播流量似乎限制了CPU负载和传播
更好.但是,这不是我们的用例.

问题:

>我们至少需要能够收听大约500个组播流和
也许高达750
>相同的硬件,运行XP OS在CPU内核中没有此行为
时间

预期组件:

> NDIS.sys似乎是解释CPU使用量增加的一个很好的候选者.

有没有人遇到过这样的问题,可以给出一些调查方向.
我已经阅读了所有关于win server 2008网络性能增强的信息,但似乎都与TCP流量有关.
我还测试了可以通过registry或netsh命令完成的所有可能的优化.

这是很多组播流,通常NIC的硬件过滤限制较低,当你超过它时,它们会丢弃所有内容(在廉价的NIC上执行不良),或者将所有内容转发到操作系统,以便过滤.当操作系统执行过滤时,您的处理器使用情况将变为天空火箭.

除了调查您列出的不同硬件之外,您还可以扩展到10GigE,唯一的选择是使用代理服务器.

通过实验找到可以可靠管理的多个多播流,然后通过TCP将流转发到中央服务器或一组服务器.然后,该中央服务器可以使用TCP分段加速或完整ToE来使进入的网络负载对处理器无意义.

由于Windows驱动程序很差,我无法使用Broadcom硬件获得合适的多播速率.看看Linux如何在相同的硬件上运行会很有趣,这应该可以很好地指示硬件和IP堆栈的质量.

您将Windows XP列为正常工作,Windows Server和Windows XP之间的主要区别在于量子时间. Windows Server提供更长的量子时间,可能值得研究强制更短的量子(如果你甚至可以设置它).

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读