[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|发包数|收包数
:---
[development][dpdk][pktgen] 网卡收发包性能测试-详细数据的更多相关文章
- [development][dpdk][pktgen] 网卡收发包性能测试
一: 多队列及中断信息收集 [root@T185 ~]# ethtool -g eth0 Ring parameters for eth0: Pre-set maximums: RX: RX Mini ...
- DPDK收发包全景分析
前言:DPDK收发包是基础核心模块,从网卡收到包到驱动把包拷贝到系统内存中,再到系统对这块数据包的内存管理,由于在处理过程中实现了零拷贝,数据包从接收到发送始终只有一份,对这个报文的管理在前面的mem ...
- dpdk网卡收包分析
一个网络报文从网卡接收到被应用处理,中间主要需要经历两个阶段: 阶段一:网卡通过其DMA硬件将收到的报文写入到收包队列中(入队)阶段二:应用从收包队列中读取报文(出队)由于目前正在使用vpp/dpdk ...
- kernel笔记——网络收发包流程
本文将介绍网络连接建立的过程.收发包流程,以及其中应用层.tcp层.ip层.设备层和驱动层各层发挥的作用. 应用层 对于使用socket进行网络连接的服务器端程序,我们会先调用socket函数创建一个 ...
- 代码学习-Linux内核网卡收包过程(NAPI)【转】
转自:https://blog.csdn.net/crazycoder8848/article/details/46333761 版权声明:本文没有任何版权限制,任何人可以以任何方式使用本文. htt ...
- UDP收发buffer尺寸对收发包流量的影响
下午验证一个高流量发包问题时,发现了一个值得记录的问题:socket的收发buffer尺寸是会影响收发包的效率的,高流量通讯时,若socket的收发buffer尺寸过小会一定程度降低收发包效率. 自己 ...
- 交换芯片收发包的 DMA 实现原理
交换芯片支持:报文.计数.表项3种DMA类型,其中报文DMA包括系统从芯片到接收报文或发送报文到交换芯片,计数DMA用来从片上获取统计计数,表项DMA功能分为SLAM DMA(系统内存DMA到片上交换 ...
- Intel X710网卡VxLAN offload 性能测试
Intel X710网卡VxLAN offload性能测试 1. 测试环境参数: 交换机:盛科E580 服务器: Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz ...
- [development][dpdk][hugepage] 大页内存的挂载
参考: [development][dpdk][hugepage] 为不同的结点分配不同大小的大页内存 完成了以上内容之后, 下一步需要做的是挂载, 大页内存只有被挂载了之后,才能被应用程序使用. 挂 ...
随机推荐
- iOS利用Application Loader打包提交到App Store时遇到错误The filename 未命名.ipa in the package contains an invalid character(s). The valid characters are:A-Z ,a-z,0-9,dash,period,underscore,but the name cannot start w
iOS利用Application Loader打包提交到App Store时遇到错误: The filename 未命名.ipa in the package contains an invalid ...
- sqlmap tamter
支持的数据库 编号 脚本名称 作用 实现方式 all 1 apostrophemask.py 用utf8代替引号 ("1 AND '1'='1") '1 AND %EF%BC%87 ...
- Mysql字符串字段中是否包含某个字符串,用 find_in_set
有这样一个需求,在Mysql数据库字符串字段(权限)中,有范围在 1 到 N 之间代表不同权限的值,分别被‘,’分开,现在要取出具有某权限的所有成员列表. 创建表: 1 CREATE TABLE ...
- git-ftp代码部署方式
虽然如今ci方法已经在很多团队使用了,但对于一些个人性的基于PHP的跑在虚拟主机的小项目,既没有服务端的Git环境,又不想时刻跑一个Genkins,就只能回到原始的FTP上传了. 所幸有了git-ft ...
- Mysql系列七:分库分表技术难题之分布式全局唯一id解决方案
一.前言 在前面的文章Mysql系列四:数据库分库分表基础理论中,已经说过分库分表需要应对的技术难题有如下几个: 1. 分布式全局唯一id 2. 分片规则和策略 3. 跨分片技术问题 4. 跨分片事物 ...
- Java如何从服务器获取文件大小?
在Java编程中,如何从服务器获取文件大小? 以下示例演示如何从服务器获取文件大小. package com.yiibai; import java.net.URL; import java.net. ...
- Writing DynamicTableEntity to Azure Storage Table
There are ample of samples available to show how to insert an object/entity to Azure Storage Table. ...
- Centos7 安装PHP7版本及php-fpm,redis ,php-redis,hiredis,swoole 扩展安装
============================PHP7.1 ========================================= 1. 更换rpm 源,执行下面两个 rpm - ...
- 【12月26日】A股滚动市盈率PE最低排名
深康佳A(SZ000016) - 滚动市盈率PE:1.47 - 滚动市净率PB:0.98 - 滚动年化股息收益率:4.97% - 消费电子产品 - 深康佳A(SZ000016)的历史市盈率走势图 华菱 ...
- [Ubuntu] LightDM 轻量级桌面显示管理器
LightDM(Light Display Manager)是一个全新的轻量级 Linux 桌面显示管理器,而传统的 Ubuntu 是使用 GNOME 桌面标准的 GDM. LightDM 是一个跨桌 ...