热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7.6万兆网卡性能测试.

TableofContents一.物理机&软件:二.网卡信息三.安装netperf四.开启多队列功能五.测试5.1.性能标5.2.netserver和netperf配

Table of Contents

一. 物理机&软件:

二.网卡信息

三. 安装netperf

四. 开启多队列功能

五. 测试

5.1.性能标

5.2.netserver和netperf配置参数

5.2.netserver和netperf配置样例

六. 查看结果

七.总结

最终结果极限  万兆网卡:  网络吞吐量 大约为 9409.58 Mbit/s ≈  1176MB/s


本文章主要是为了测试万兆网卡的传输速率.

 

一. 物理机&软件:

1.两台装有万兆网卡的物理机, 中间用万兆交换机互联.

2.测试软件netperf 

 

 

二.网卡信息

Mellanox Technologies MT27710 Family [ConnectX-4 Lx]

[root@master01 ~]# ethtool enp9s0f0
Settings for enp9s0f0:Supported ports: [ FIBRE ]Supported link modes: 1000baseKX/Full10000baseKR/FullSupported pause frame use: SymmetricSupports auto-negotiation: YesSupported FEC modes: None BaseRAdvertised link modes: 1000baseKX/Full10000baseKR/FullAdvertised pause frame use: SymmetricAdvertised auto-negotiation: YesAdvertised FEC modes: NoneSpeed: 10000Mb/sDuplex: FullPort: FIBREPHYAD: 0Transceiver: internalAuto-negotiation: onSupports Wake-on: dWake-on: dCurrent message level: 0x00000004 (4)linkLink detected: yes

三. 安装netperf

 

在测试机和陪练机上安装Netperf。

执行如下命令,下载Netperf。

wget -c "https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0" -O netperf-2.5.0.tar.gz

或者

百度网盘 链接: https://pan.baidu.com/s/1yDLYII0EmGHdl0Sx4rtPxA  密码: ttwr

 


依次执行如下命令,安装Netperf。

tar -zxvf netperf-2.5.0.tar.gz
cd netperf-netperf-2.5.0
./configure && make && make install && cd ..
执行netperf -h和netserver -h命令,确认安装成功。

 

四. 开启多队列功能

在测试机内部依次执行如下命令,开启多队列功能。

注:以开启 enp9s0f0 网卡为例。

ethtool -L enp9s0f0 combined 4
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-0/rps_cpus
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-1/rps_cpus
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-2/rps_cpus
echo "ff" > /sys/class/net/enp9s0f0/queues/rx-3/rps_cpus

 

五. 测试

5.1.性能标

(1)bps是指比特率

bps是线路单位,表示bit(比特)/second(秒)。在计算机网络或者是网络运营商中,一般,宽带速率的单位用bps(或b/s)表示;bps表示比特每秒即表示每秒钟传输多少位信息。

(2)pps是指网络吞吐率

pps是包转发率单位,表示包/秒,交换机每秒可以转发多少百万个数据包(Mpps),即交换机能同时转发的数据包的数量。

 

5.2.netserver和netperf配置参数

Netperf安装完成后会生成2个工具:netserver和netperf。

工具名称工具说明主要参数参数说明
netserver接收端工具(server 端)-p端口号
netperf发送端工具(client 端)-H指定 ECS 实例的 IP 地址。
-p指定 ECS 实例的端口。
-l指定运行时间。 单位 秒
-t指定发包协议类型:TCP_STREAM 或 UDP_STREAM。建议使用 UDP_STREAM。
-m指定数据包大小。
  • 测试 PPS 时,建议该值为 1。
  • 测试 BPS(bit per second)时,建议该值为 1400。

 


5.2.netserver和netperf配置样例

测试机   内启动netserver进程  [ 开放接收端口 :11256 ]  可以开启多个端口

netserver -p 11256

 

陪练机  内启动netperf进程,分别指定到测试机的不同netserver端口。

 

PPS:

netperf -H master01 -p 11256 -t UDP_STREAM -l 300 -- -m 1

 

BPS:

netperf -H master01 -p 11256 -t UDP_STREAM -l 300 -- -m 1400

 

 

六. 查看结果

 


[root@slave01]# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10 -- -m 1 #PPS
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.xxx.xxx (192.168.xxx.xxx) port 0 AF_INETSocket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec262144 1 10.00 6124765 0 4.90
262144 10.00 6103439 4.88[root@slave01 ]# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10 -- -m 1400 # BBS
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.xxx.xxx (192.168.xxx.xxx) port 0 AF_INETSocket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec262144 1400 10.00 5800083 0 6496.03
262144 10.00 4778491 5351.86[root@slave01 ]#
[root@slave01 ]# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.xxx.xxx (192.168.xxx.xxx) port 0 AF_INET
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec262144 65507 10.00 181666 0 9520.16
262144 10.00 174660 9153.01

 

 

根据这个结果进行解释

Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec262144 65507 10.00 181666 0 9520.16
262144 10.00 174660 9153.01

 

  • 输出结果中各字段含义解释如下表所示。

    字段数据含义
    262144缓冲区大小
    65507数据包大小(Byte)
    10.00测试时间(s)
    181666数据包成功数
    0失败数
    9520.16网络吞吐量(Mbit/s)

 

 

 

  • 通常我们建议在server端执行sar命令来统计实际收到的包并作为实际结果,具体命令为: sar -n DEV 1 320

    [root@master01 ]# sar -n DEV 1 320
    Linux 3.10.0-957.27.2.el7.x86_64 (master01) 2020年04月22日 _x86_64_ (12 CPU)15时43分11秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
    15时43分12秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
    15时43分12秒 enp7s0 78.38 0.00 5.13 0.00 0.00 0.00 0.00
    15时43分12秒 enp9s0f0 85.14 6.76 5.68 1.28 0.00 0.00 158.11
    15时43分12秒 enp9s0f1 0.00 0.00 0.00 0.00 0.00 0.00 0.00平均时间: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
    平均时间: lo 2.91 2.91 0.36 0.36 0.00 0.00 0.00
    平均时间: enp7s0 113.01 0.00 7.78 0.00 0.00 0.00 6.10
    平均时间: enp9s0f0 316102.14 4.04 459766.25 0.94 0.00 0.00 119.84
    平均时间: enp9s0f1 0.00 0.00 0.00 0.00 0.00 0.00 0.00

     



七.总结

最终结果极限  万兆网卡:  网络吞吐量 大约为 9409.58 Mbit/s ≈  1176MB/s

[root@slave01 ]# netperf -H 192.168.xxx.xxx -p 11256 -t UDP_STREAM -l 10
MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.xxx.xxx (192.168.x'x'x.114) port 0 AF_INET
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec262144 65507 10.00 180995 0 9485.04
262144 10.00 174511 9145.25[root@slave01 ]# netperf -H 192.168.xxx.x'x'x -p 11256 -t TCP_STREAM -l 10
MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.xxx.xxx (192.168.xxx.xxx) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec4194304 16384 16384 10.00 9409.58

 

 

 

 

 

 

 

 


推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 李逍遥寻找仙药的迷阵之旅
    本文讲述了少年李逍遥为了救治婶婶的病情,前往仙灵岛寻找仙药的故事。他需要穿越一个由M×N个方格组成的迷阵,有些方格内有怪物,有些方格是安全的。李逍遥需要避开有怪物的方格,并经过最少的方格,找到仙药。在寻找的过程中,他还会遇到神秘人物。本文提供了一个迷阵样例及李逍遥找到仙药的路线。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 重入锁(ReentrantLock)学习及实现原理
    本文介绍了重入锁(ReentrantLock)的学习及实现原理。在学习synchronized的基础上,重入锁提供了更多的灵活性和功能。文章详细介绍了重入锁的特性、使用方法和实现原理,并提供了类图和测试代码供读者参考。重入锁支持重入和公平与非公平两种实现方式,通过对比和分析,读者可以更好地理解和应用重入锁。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • 本文介绍了操作系统的定义和功能,包括操作系统的本质、用户界面以及系统调用的分类。同时还介绍了进程和线程的区别,包括进程和线程的定义和作用。 ... [详细]
author-avatar
非常异族图腾
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有