[development][dpdk][pktgen] 网卡收发包性能测试-详细数据

三层包测试

发包方式:192.168.20.205

发包工具:pktgen

发包网卡:i350

收包设备:1922.168.20.185

CPU:Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz

收包方式:网卡ixgeb驱动,单队列,promisc计数

收包网卡: 82599EB

传输链路:千兆RJ45网线直连

发包方法:

Pktgen:/> set 0 size 500
Pktgen:/> set 0 count 1000000
Pktgen:/> set 0 proto tcp
Pktgen:/> disable 0 vlan
Pktgen:/> start 0
Pktgen:/> clear 0 stats

收包设置:

驱动设置

  • 重载驱动,清空计数,同时可以调整队列数。
  • 设置混杂模式
  • 禁用PAUSE帧

irq设置

  • isolcpu
  • irq绑定至一个物理核心。

绑定IRQ

echo "1,13" > /proc/irq/eth0/smp_affinity_list

CMD

modprobe -r ixgbe
#modprobe ixgbe MQ=1,0
modprobe ixgbe
ifconfig eth0 promisc
ethtool --pause eth0 autoneg off rx off tx off
irq_bind.sh 1

测试结果:

包长(byte) pps Mbps seconds socket数 收包physics core数 队列数 发包数 收包数
500 230000 960 1 1 24 10000000 10000000
400 284000 950 1 1 24 10000000 10000000
300 367000 940 1 1 24 10000000 10000000
200 542000 952 1 1 24 10000000 10000000
100 1039000 997 9.62 1 1 24 10000000 10000000
64 1483000 996 6.74 1 1 24 10000000 9907134
64 1483000 996 67.4 1 1 24 100000000 99147516
64 1483000 996 67.4 1 1 1 100000000 99671467
64 1483000 996 67.4 1 2 24 100000000 99252877
64 1483000 996 67.4 1 4 24 100000000 99084322
64 1483000 996 67.4 2 8 24 100000000 99177716
64 1483000 996 67.4 2 24 24 100000000 99110338
设置 Ring 为4096, 之前是512
ethtool -G eth0 rx 4096
包长(byte) pps Mbps seconds socket数 收包physics core数 队列数 发包数 收包数
64 1483000 996 67.4 2 8 24 100000000 99177716
64 1483000 996 67.4 2 24 24 100000000 98947571
查看丢包数的另一种方法
[root@T185 tong]# ethtool -S eth0 |grep rx_missed_errors
rx_missed_errors: 1052429
设置 dev_weight, 默认值64
echo 512 > /proc/sys/net/core/dev_weight

包长(byte)|pps|Mbps|seconds|socket数|收包physics core数|队列数|dev_weight|发包数|收包数

:---

上一篇:Xcode 中关于"#"的小知识


下一篇:[deviceone开发]-openPage的动画效果示例