关于linux网络IO负载的问题
hh_xj 2010-08-17 05:32:51 对近来开发的系统做了个简单的负载测试,出现了一个奇怪的问题,描述下:
测试方法:
udp通信,在server上建立很多udp socket,用于中转很多client发来的数据(每个socket发送速率10KB/s),
client建立很多socket(模拟真实情况下多个不同的client),向server上对应的udp socket发送数据,
server转发收到的数据到另一个client的某socket。
测试环境:
10/100Mb 交换以太网
出现情况:
1,在cpu使用率低的情况下,没有出现丢包,
2,client继续新建socket,当server的cpu使用率达到90以上时,开始丢包,奇怪之处在于:
a, 对于client在cpu低时建立的socket通信,在cpu高且网络开始丢包时,这些socket通信没有发生丢包
b, 丢包仅对于新建的socket。
不知道这是什么原因,网卡应该没有丢包,那就是协议栈或者操作系统上开始丢包,这部分,希望牛人帮忙解析下。