三层包测试

发包方式: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|发包数|收包数

:---

[development][dpdk][pktgen] 网卡收发包性能测试-详细数据的更多相关文章

  1. [development][dpdk][pktgen] 网卡收发包性能测试

    一: 多队列及中断信息收集 [root@T185 ~]# ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: RX Mini ...

  2. DPDK收发包全景分析

    前言:DPDK收发包是基础核心模块,从网卡收到包到驱动把包拷贝到系统内存中,再到系统对这块数据包的内存管理,由于在处理过程中实现了零拷贝,数据包从接收到发送始终只有一份,对这个报文的管理在前面的mem ...

  3. dpdk网卡收包分析

    一个网络报文从网卡接收到被应用处理,中间主要需要经历两个阶段: 阶段一:网卡通过其DMA硬件将收到的报文写入到收包队列中(入队)阶段二:应用从收包队列中读取报文(出队)由于目前正在使用vpp/dpdk ...

  4. kernel笔记——网络收发包流程

    本文将介绍网络连接建立的过程.收发包流程,以及其中应用层.tcp层.ip层.设备层和驱动层各层发挥的作用. 应用层 对于使用socket进行网络连接的服务器端程序,我们会先调用socket函数创建一个 ...

  5. 代码学习-Linux内核网卡收包过程(NAPI)【转】

    转自:https://blog.csdn.net/crazycoder8848/article/details/46333761 版权声明:本文没有任何版权限制,任何人可以以任何方式使用本文. htt ...

  6. UDP收发buffer尺寸对收发包流量的影响

    下午验证一个高流量发包问题时,发现了一个值得记录的问题:socket的收发buffer尺寸是会影响收发包的效率的,高流量通讯时,若socket的收发buffer尺寸过小会一定程度降低收发包效率. 自己 ...

  7. 交换芯片收发包的 DMA 实现原理

    交换芯片支持:报文.计数.表项3种DMA类型,其中报文DMA包括系统从芯片到接收报文或发送报文到交换芯片,计数DMA用来从片上获取统计计数,表项DMA功能分为SLAM DMA(系统内存DMA到片上交换 ...

  8. Intel X710网卡VxLAN offload 性能测试

    Intel X710网卡VxLAN offload性能测试 1.  测试环境参数: 交换机:盛科E580 服务器: Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz ...

  9. [development][dpdk][hugepage] 大页内存的挂载

    参考: [development][dpdk][hugepage] 为不同的结点分配不同大小的大页内存 完成了以上内容之后, 下一步需要做的是挂载, 大页内存只有被挂载了之后,才能被应用程序使用. 挂 ...

随机推荐

  1. PNG、 JPG图片压缩方法

    参考链接 https://tinypng.com/developers/reference/python 1.安装 pip install --upgrade tinify 2.使用python脚本压 ...

  2. vue遍历时添加个数过滤条件

    1.效果 本身有5个地址,显示3个 2.address.html <!DOCTYPE html> <html lang="en"> <head> ...

  3. egret3.x升级5.2

    第一步 先用新建项目向导新建一个5.2的项目 第二步 把3.x的代码和资源文件复制过来替换掉 修改资源加载代码 在3.x里 egret采用的是事件机制来加载资源,在5.2里则采用了await/asyn ...

  4. Oracle---number数据类型

    NUMBER ( precision, scale)  precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度.  如果scale大于零,表示数字精确 ...

  5. 【Unity】UGUI无法修改UI元素的Pivot锚点位置

    如下图,要点击切换左边的Toggle按钮变为Pivot才可以编辑Pivot!   参考: https://answers.unity.com/questions/871238/cant-change- ...

  6. MAC OS查看端口占用情况及杀死进程

    终端命令 sudo lsof -i :9000 COMMAND   PID    USER   FD      TYPE             DEVICE                     ...

  7. cvCreateImage

    CvCreateImage函数说明 cvCreateImage是openCV中的一个函数.OpenCV是Intel公司支持的开源计算机视觉库.   cvCreateImage:   创建头并分配数据 ...

  8. hadoop 在centos中的搭建

    总体思路,准备主从服务器,配置主服务器可以无密码SSH登录从服务器,解压安装JDK,解压安装Hadoop,配置hdfs.mapreduce等主从关系. 1.环境,3台CentOS7,64位,Hadoo ...

  9. C语言学习之路

    c语言学习 初识c语言 c语言数据类型.运算符和表达式(整数浮点数) 字符型数据/字符串 算术运算符和算术表达式(优先级,结合性等) 顺序程序设计(运算符之类内容,字符输入输出等) C/C++ 查看数 ...

  10. swoole Tcp

    TCP服务对象 <?php //创建Server对象,监听 127.0.0.1:9501端口 $serv = ); //监听连接进入事件 $serv->on('connect', func ...