【浪潮信息KeyarchOS (KOS)】手把手带你玩转netperf:从配置到多场景性能优化

1.2性能测试工具iPerf和Netperf使用介绍 对比可以看出同一时间段内主机1与主机2、主机1与主机3的带宽接近,不过主机1与主机2、主机1与主机3之间的带宽都不稳定,不同时间段的带宽相差比较大。场景二 UDP测试。 阅读详情

目录

1 概述

2 安装准备

2.1 操作环境

2.2 软件版本

3 编译安装

4 执行测试

4.1 测试TCP_STREAM

4.2 测试UDP_STREAM

4.3 测试TCP_CRR

4.4 测试网络响应时间

5 数据分析

5.1 数据指标

5.2 数据整理

5.3 数据分析

6 最佳实践

7 常见问题及解决方法


1 概述

浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126

netperf是一种网络性能测量工具,主要针对基于TCP或UDP的传输,netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(Bulk Data Transfer)模式和请求/应答(Request/Reponse)模式。

netperf工具以client/server方式工作。server端是netserver,用来侦听来自client端的连接,client端是netperf,用来向server发起网络测试。在client与server之间,首先建立一个控制连接,传递有关测试配置的信息,以及测试的结果:在控制连接建立并传递了测试配置信息以后,client与server之间会再建立一个测试连接,进行来回传递特殊的流量模式,以测试网络的性能。

2 安装准备

2.1 操作环境

操作系统版本:KOS 5.8 sp2u1(5.10.134-17.2.2.kos5.x86_64)

测试架构:x86_64,8核4G虚拟机

2.2 软件版本

Netperf 2.5.0

3 编译安装

将netperf-netperf-2.5.0.tar.gz压缩包拷贝至需要测试的服务器中

解压安装包

tar -xvf netperf-2.5.0.tar.gz

切换至解压后目录

cd netperf-netperf-2.5.0

编译、安装

./configure && make && make install

备注:编译、安装时需要系统默认安装GCC环境,建议在安装操作系统时,选择开发者工具方式安装。

验证安装

客户端:netperf -h

服务端:netserver -h

netperf常用测试参数解释如表1所示。

表1 netperf参数

netperf参数
-a send,recv设置本地发送,recv缓冲区对齐方式
-A send,recv设置远程发送,recv缓冲区对齐方式
-B brandstr指定要发出简短输出的字符串
-c [cpu_rate]报告本地CPU占用率
-C [cpu_rate]报告远程CPU使用率
-d增加调试输出
-D time,[units]至少间隔显示中间结果,默认单位为每秒
-f设置输出单元
-F用指定文件中的数据预填充缓冲区
-H指定目标机器和/或本地ip
-j保留额外的定时统计信息
-l testlen指定测试时长
-L name指定本地ip|名称和地址族
-o send,recv设置本地发送,recv缓冲区偏移量
-O send,recv设置远程发送,recv缓冲区偏移量
-n numcpu设置CPU util的处理器数量
-N不建立控制连接,只做发送端
-p port指定netserver端口号和/或本地端口
-s seconds测试设置和测试启动之间的等待时间
-S在数据连接上设置SO_KEEPALIVE
-t testname指定要执行的测试
-T lcpu,rcpu请求netperf/netserver绑定到本地/远端cpu
-W send,recv设置发送缓冲区、recv缓冲区的个数
-y local,remote设置socket优先级
-Y local,remote设置IP_TOS。使用十六进制。
-Z passphrase设置并传递给netserver一个密码短语
netserver参数
-L指定netserver监听地址
-p指定netserver监听端口(缺省时,12865端口)
-4指定IPv4协议
-6指定IPv6协议(缺省时,IPv6协议)
-d增加调试输出
-f不要为每个测试生成子进程,要连续运行
-L name,family使用name来选择监听地址和family

4 执行测试

在进行网络性能相关测试时可以使用netperf进行相关测试。

4.1 测试TCP_STREAM

将一端作为服务端,执行以下命令

netserver

图1 服务端效果

将另一端作为客户端,执行以下命令

netperf -H $serverip -l 60 -t TCP_STREAM //100.2.252.178为运行netserver主机IP地址

图2 测试TCP_STREAM

4.2 测试UDP_STREAM

在服务端执行以下命令

netserver 效果见图4

在客户1端执行以下命令

netperf -H $serverip -l 60 -t UDP_STREAM //100.2.252.178为运行netserver主机IP地址

图3 测试UDP_STREAM

4.3 测试TCP_CRR

在服务端执行以下命令

netserver 效果见图4

在客户端执行以下命令

netperf -H $serverip -l 60 -t TCP_RR //100.2.252.178为运行netserver主机IP地址

图4 测试TCP_RR

在服务端执行以下命令

netserver 效果见图4

在客户端执行以下命令

netperf -H $serverip -l 60 -t TCP_CRR //100.2.252.178为运行netserver主机IP地址

图5 测试TCP_CRR

4.4 测试网络响应时间

在服务端执行以下命令

netserver 效果见图4

在客户端执行以下命令

netperf -H 100.2.252.178 -t omni -- -d rr -l 60 -O "throughput, throughput_units, min_latency, max_latency,mean_latency"

图7 测试网络响应时间

5 数据分析

5.1 数据指标

netperf测试,常用数据指标如表2所示

表2 数据指标

指标说明模式
TCP_STREAM(Mb/秒)发送批量的TCP数据分组,以确定数据传输过程中的吞吐量。批量输出传输模式
UDP_STREAM(Mb/秒)发送批量的UDP数据分组,以确定数据传输过程中的吞吐量。批量输出传输模式
TCP_RR(次/秒)TCP_RR方式的测试对象是多次TCP request和response的交易过程,但是它们发生在同一个TCP连接中,这种模式常常出现在数据库应用中。数据库的client程序与server程序建立一个TCP连接以后,就在这个连接中传送数据库的多次交易过程。请求/应答模式
TCP_CRR(次/秒)与TCP_RR不同,TCP_CRR为每次交易建立一个新的TCP连接。最典型的应用就是HTTP,每次HTTP交易是在一条单独的TCP连接中进行的。因此,由于需要不停地建立新的TCP连接,并且在交易结束后拆除TCP连接,交易率一定会受到很大的影响。请求/应答模式
UDP_RR(次/秒)UDP_RR方式使用UDP分组进行request/response的交易过程。由于没有TCP连接所带来的负担,所以交易率一定会有相应的提升。请求/应答模式

5.2 数据整理

测试TCP_STREAM

记录Throughput 10^6bits/sec的值

测试UDP_STREAM

记录Throughput 10^6bits/sec的值

测试TCP_RR

记录Trans. Rate per sec的值;

测试TCP_CRR

记录Trans. Rate per sec的值;

测试UDP_RR

记录Trans. Rate per sec的值;

测试网络响应时间

记录mean_latency值

5.3 数据分析

网络响应时间越低越好,TCP_STREAM、UDP_STREAM、TCP_CRR、TCP_RR、UDP_RR值越高越好。

6 最佳实践

TCP_STREAM最佳实践

服务端:numactl -C 5 -m 0 netserver

绑定网卡硬中断至某个core,具体流程如下:

cat /proc/interrupts查看当前网卡中断分布位置:

图 8 查看中断分布情况

systemctl stop irqblance.service 中止中断均衡服务

echo X > /proc/irq/Y/smp_affinity_list X代表需要指定的core,Y代表需要绑定的中断号--将硬中断绑定在指定core上

图 9 客户端效果

注:因本次实验是在虚拟机上进行,若后续使用直连的方式进行测试可考虑以下几种方式是否影响TCP_STREAM。

调整ring buffer缓冲区:sysctl -w net.core.wmem_max=4096

启用接收端缩放窗口(Receive Window Scaling):sysctl -w net.ipv4.tcp_window_scaling=1

调整TCP拥塞算法:sysctl -w net.ipv4.tcp_congestion_control=cubic

禁用TCP长时间干扰:sysctl -w net.ipv4.tcp_low_latency=1

UDP_STREAM最佳实践

服务端命令:同上

绑核绑中断:同上

客户端命令:numactl -C 4 -m 0 netperf -t UDP_STREAM -H 100.2.252.178 -l 60

图 10 客户端效果

注:因本次实验是在虚拟机上进行,若后续使用直连的方式进行测试可考虑以下几种方式是否影响TCP_STREAM。

使用-b参数指定带宽,万兆网卡一般指定10G.

使用-m参数指定字节长度,mtu值为1500时一般指定-m为1427

使用-C参数增加并发数

上述三个参数使用方式为netperf -t UDP_STREAM -H 100.2.252.178 -b 10G -- -m 1427 -C 8 -l 60

TCP_RR最佳实践

服务端命令:同上

绑核绑中断:同上

客户端命令:numactl -C 4 -m 0 netperf -t TCP_RR -H 100.2.252.178 -l 60

图 11 客户端效果

注:因本次实验是在虚拟机上进行,若后续使用直连的方式进行测试可考虑以下几种方式是否影响TCP_RR。

使用-r参数指定消息大小

使用-C参数增加并发数

上述参数使用方式为netperf -t TCP_RR -H 100.2.252.178 -r 1024 -C 8 -l 60

UDP_RR最佳实践

服务端命令:同上

绑核绑中断:同上

客户端命令:numactl -C 4 -m 0 netperf -t UDP_RR -H 100.2.252.178 -l 60

图 12 客户端效果

注:因本次实验是在虚拟机上进行,若后续使用直连的方式进行测试可考虑以下几种方式是否影响UDP_RR。

使用-r参数指定消息大小

使用-C参数增加并发数

上述参数使用方式为netperf -t UDP_RR -H 100.2.252.178 -r 1024 -C 8 -l 60

TCP_CRR最佳实践

服务端命令:同上

绑核绑中断:同上

客户端命令:numactl -C 4 -m 0 netperf -t TCP_CRR -H 100.2.252.178 -l 60

图 13 客户端效果

注:因本次实验是在虚拟机上进行,若后续使用直连的方式进行测试可考虑以下几种方式是否影响UDP_RR。

使用-r参数指定消息大小

使用-C参数增加并发数

上述参数使用方式为netperf -t TCP_CRR -H 100.2.252.178 -r 1024 -C 8 -l 60

时延最佳实践

服务端命令:同上

绑核绑中断:同上

客户端命令:numactl -C 4 -m 0 netperf -H 100.2.252.178 -t omni -- -d rr -l 60 -O "throughput, throughput_units, min_latency, max_latency,mean_latency"

图 14 客户端效果

7 常见问题及解决方法

如果netserver启动时端口被占用,则会报以下错误:

解决方法:

指定一个未使用的端口给netserver,如:netserver -p 49999

由于操作系统防火墙默认情况下,未将netperf测试所需端口打开,因此无法进行测试。

解决方法:

执行测试前,将服务器的防火墙关闭

【山外笔记-工具框架】Netperf网络性能测试工具详解教程 本文下载链接: 【学习笔记】Netperf网络性能测试工具.pdf 一、Netperf工具简介 1、什么是Netperf ? (1)Netperf是由惠普公司开发的一种网络性能测量工具,主要针对基于TCP或UDP的传输。 (2)Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。... 阅读详情

相关推荐

使用netperf/qperf工具测试(绑核)DPU网卡性能

网卡性能绑核测试 linux 设置系统信息 查看实时cpu频率(X86) 设置cpu自定义 设置cpu频率 查看中断时间模式设置 设置中断时间模式 查看中断核心 性能测试命令——netperf、qperf、iperf **用户态

SL_ss123的博客 863

netperf的安装、性能测试、参数、启动报错的坑、实例

netperf介绍 netperf是一个基于client-server模式的网络测试工具,可以测量TCP和UDP传输的吞吐量、时延、CPU占用率等性能参数。 它可以测试以下几种模式的TCP核UDP网络性能: TCP_STREAM:client端向server端发送批量TCP数据 UDP_STREAM:client端向server端发送批量UDP数据 TCP_RR和TCP_CRR:前者是在同一个连接中进行多次request和response请求(并发),后者(新建)是每次请求新建一个连接(HTTP) UDP

仙女肖消乐的博客 2万+

ADS2023实战:2.4GHz超外差接收机从设计到链路预算全流程解析

本文以ADS 2023软件为平台,详细解析了2.4GHz超外差接收机从核心指标定义、架构原理到完整链路搭建与仿真的全流程。通过实战演练,重点阐述了如何利用ADS进行谐波平衡仿真和链路预算分析,以量化评估系统增益、噪声系数等关键性能,为射频工程师提供了一套从理论到仿真的系统级设计方法。

herb5的博客 817

Netperf网络测试

Netperf网络测试

教Linux的李老师 5424

MCGS 昆仑通态触摸屏 modbus TCP 数据转发

MCGS触摸屏数据转发modbus TCP数据转发

m0_63451859的博客 2万+

用SimaPro做碳足迹分析:手把手教你完成产品生命周期评估报告

本文详细介绍了如何使用SimaPro进行碳足迹分析,从软件安装到生命周期评估报告的完整流程。通过实战案例演示,帮助制造业企业、咨询机构和科研团队掌握产品生命周期评估(LCA)的核心技术,精准识别环境热点并优化决策,为可持续发展转型提供科学依据。

yhn45678901的博客 715

性能测试工具iPerf和Netperf使用介绍

实验教程 任务目的 1、 掌握iPerf的功能和基本命令,利用iPerf测试主机之间的吞吐量,熟悉基本命令参数的作用,为后期实验做准备。 2、 掌握Netperf的功能和基本命令,能够根据不同的测试需求使用不同的命令参数。 任务环境 设备名称 软件环境(镜像) 硬件环境 控制器 Floodlight 1.0桌面版 CPU:1核 内存:2G 磁盘:20G 交换机 Open vSwitch 2.3.1命令行版 CPU:1核 内...

qq_48490728的博客 9043

使用AI编写测试用例——详细教程

现阶段AI还不能完全替代人工测试用例编写,但如果把AI当做一个提高效率的工具,它将会是一个很强大的辅助。

公众号|软件测试老吴 3万+

netperf常用命令使用方法

启动netserver服务报错解决方案:这个错误提示意味着netserver无法使用给定的IP地址和端口号来启动监听服务。可能的解决方案包括:检查是否已经有其他程序在占用端口号12865。可以使用命令来列出当前正在监听的端口,并查找是否有其他程序正在使用12865端口。使用sudo权限来启动netserver,以确保有足够的权限。确保输入的IP地址和端口号正确。如果IP地址不正确,可以尝试使用特定的IP地址(如127.0.0.1)或替换为主机名。

captain 5565

PX4开发环境搭建(Ubuntu1804+QGC+Qt Creator )

文章目录前言一、安装环境二、PX4环境搭建1. 在虚拟机中安装Ubuntu2. 安装PX4环境(1)下载PX4源码:(2) 安装工具链(3) jMAVSim仿真(4) 编译验证三、安装QGC四、安装Qt Creator 前言 在这之前作者完全没接触过PX4,安装过程遇到了很多坑,而且每安装下载一个东西都要等好久,出现问题又要重新开始,前后折腾了四天才弄好,希望此文对大家有所帮助。 一、安装环境 ...

Beyonderwei的博客 9023

从实验室到生产线:Qwen3-Omni后训练技术在实际业务中的落地挑战

本文探讨了Qwen3-Omni后训练技术在实际业务中的落地挑战,重点分析了多模态AI在工业应用中的关键问题与解决方案。通过金融风控、跨境电商等场景案例,揭示了通用模型与垂直需求的矛盾,并提供了知识蒸馏、语音合成优化等实战经验,助力企业实现技术到业务的转化。

weixin_29035147的博客 267

网络测试工具netperf

一般我们进行网络测试,主要是测试网络的连通性、网络带宽、网络响应时间等。常用的工具包括ping、traceroute、telnet、ftp等。如测试网络连通性,可以使用ping,traceroute,如果测试防火墙是否配置正确,可以使用telnet和traceroute -p,使用ping命令可以测试网络延迟,ftp则用来测试网络带宽。 但如果需要做一些更为深入的测试,如测试不同包大...

aihuang1872的博客 1111

AutoSAR配置视频讲解:新建DaVinci工程

AutoSAR实验视频讲解:闪烁一颗LED实验【新建DaVinci工程】 上一篇 | 下一篇 | 总目录 实验架构图 视频本频放在了文末,下图描述了本次实验配置内容在AutoSAR架构中的位置,供大家参考 实验内容 本节课程讲解新建DaVinci工程,听上去新建工程很简单,但是还是需要很多的准备工作和细节。主要内容是新建工程和导入dbc文件和导入arxml文件的方法 主要步骤 新建DaVinci工程 导入.dbc通信矩阵文件 导入Mcal的arxml文件 实验视频2:Mcal配置 提示:版权所在,违

雪云飞星的博客 6276

netperf使用笔记

一、netperf是什么 netperf是一个基于client-server模式的网络测试工具,可以测量TCP和UDP传输的吞吐量、时延、CPU占用率等性能参数。它可以测试以下几种模式的TCP核UDP网络性能: TCP_STREAM:client端向server端发送批量TCP数据 UDP_STREAM:client端向server端发送批量UDP数据 TCP_RR和TCP_CRR:前者是在同一个...

知识就是生产力 6673

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

网络测试工具--Iperf、Netperf 、MZ

网络性能测量的五项指标 可用性(availability) 响应时间(response time) 网络利用率(network utilization) 网络吞吐量(network throughput) 网络带宽容量(network bandwidth capacity) 1. 可用性 测试网络性能的第一步是确定网络是否正常工作,最简单的方法是使用 ping

造梦先森Kai的专栏 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Netperf使用总结

Netperf是由惠普公司开发的一种网络性能测量工具,主要针对基于TCP或UDP的传输。Netperf根据应用的不同,可以进行不同模式的网络性能测试,即批量数据传输(bulk data transfer)模式和请求/应答(request/reponse)模式。Netperf测试结果所反映的是一个系统能够以多快的速度向另外一个系统发送数据,以及另外一个系统能够以多块的速度接收数据。

流水灯 1629

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【网络】每天掌握一个Linux命令 - netperf

netperf 是一款专为网络性能测试设计的 Linux 命令行工具。在实际网络环境中,我们常常需要评估网络连接的质量和性能,比如确定网络带宽是否满足业务需求、检测网络延迟是否会影响实时应用体验、验证网络设备的吞吐量是否达标等。netperf 通过模拟不同类型的网络流量,能够精确测量网络在各种场景下的性能指标,为网络规划、故障排查和性能优化提供有力的数据支持。

cuiwin的专栏 1862
上一篇: 【浪潮信息KeyarchOS (KOS)】手把手教你用lzbench:一文搞懂开源LZ77/LZSS/LZMA压缩器内核基准测试
下一篇: 【浪潮信息KeyarchOS (KOS)】手把手教你用Openssl:从加密算法加密解密测试到证书生成测试实战
KeyarchOS
博客等级 码龄3年 1312粉丝 339原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值