热门标签 | 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

 

 

 

 

 

 

 

 


推荐阅读
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • MySQL数据库锁机制及其应用(数据库锁的概念)
    本文介绍了MySQL数据库锁机制及其应用。数据库锁是计算机协调多个进程或线程并发访问某一资源的机制,在数据库中,数据是一种供许多用户共享的资源,如何保证数据并发访问的一致性和有效性是数据库必须解决的问题。MySQL的锁机制相对简单,不同的存储引擎支持不同的锁机制,主要包括表级锁、行级锁和页面锁。本文详细介绍了MySQL表级锁的锁模式和特点,以及行级锁和页面锁的特点和应用场景。同时还讨论了锁冲突对数据库并发访问性能的影响。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了如何使用iptables添加非对称的NAT规则段,以实现内网穿透和端口转发的功能。通过查阅相关文章,得出了解决方案,即当匹配的端口在映射端口的区间内时,可以成功进行端口转发。详细的操作步骤和命令示例也在文章中给出。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
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社区 版权所有