网卡性能不达标问题的定位思路

产品研发中经常会出现速率不达标问题,定位和分析往往需要投入大量的人力物力反复测试才能定位出具体原因,一个基本的出发点,是要查询或者获取到收发过程中端到端收发的统计数据,确定是在那一段丢包,针对这里的丢包进行抓包分析,网络应答和处理是否正确,才能为问题的解决提供可靠的依据;针对性能不达标问题的定位思路总结如下:

1、收包速率不达标,很有可能是发送的速率没有达标造成;(可以通过配置更高性能的硬件CPU频率,内存的大小和通道数,增加网卡发送的性能)

2、分析收发的模型;

3、查看CPU的利用率;(CPU需要绑核处理,尤其大于10GE的网络)

4、排除环境因素的干扰;(TCP/IP协议涉及中就是按照最大能力进行收发,不保证每个报文都完成“使命”,只有在应用层增加一些握手机制来保证)

5、发包中网络进行隔离减少干扰,记录端到端的收发报文数,必要时进行抓包分析;

下面通过2个问题举例如何分析定位

1、Iperf发现收包速率不达标问题

某天测试人员反馈自动化测试中iperf网卡性能不达标,使用手工测试中可以达标;分析查询结果如下图所示。

测试中是0~t,整体速率需要达到网卡带宽的90%;由于测试发包端的速率是有一个加速和减速的过程,所以取数据是,把前后10秒的数据过滤,取中间数据作为测试的判据。

2、网络通信中出现丢包

现象:SVT.eth1发送报文数量<LSW.PORT2发送数量。

测试端和被测试的都是相同配置的10GE网卡,相同速率的网卡进行收发性能的测试,SVT发送的速率小于9GE(正常时的性能也是9G),LSW.PORT2多发出的数据报文说明过程中出现了其他数据报文的干扰造成;造成发包大于网卡的最大吞吐量,超出了网卡的负荷范围,进而出现了丢包;通过在交换机上进行VLAN隔离就解决了这个问题。

3、网卡性能测试中性能的注意点

  1. 收发包使用VLAN进行隔离,减少其他报文的干扰;
  2. 发包端内存缓存或者队列开到最大;
  3. 修改MTU值,减少接收端的中断上报;
  4. 接口速率大于10GE的网卡进行CPU绑核提高发送接收效率;
  5. CPU,内存(满通道)不能是瓶颈。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章