一台服务器接收公网上多个客户端上送的udp数据,大概20M/s,开发语言是c#,某颗cpu占到100%,系统中断占用cpu也达到10%,机器操作特别卡,但是从这个机器使用多线程把udp数据转到内网另外一台服务器,内网接收服务器没有任何问题,cpu消耗最多2%,几乎没有系统中断,请问有经验的人这是什么问题,非常感谢
 这两台服务器都是vmware上虚拟出来的虚拟机,考虑到udp接收的负载均衡,使用过windows2012 r2的nic,模式是交换机独立+动态,但是只有一个网卡在接收数据,另外一个网卡没有数据接收,好象没有任何作用
恳请高手帮助,不胜感激

解决方案 »

  1.   

    通过网络查看,两台机器每秒接收的包数都在4000左右,字节数每秒2M左右,唯一的区别就是,一个接收公网上多个客户端的数据,一个接收内网中另外一条机器多线程过来的数据,但是udp是无连接的,和这个应该没关系
    还有一个可能就是公网和内网的mtu不一样,公网上需要分片组片,但是看了一下包字节数,估计一个包也就1K左右,应该不是这方面的影响