tencent cloud

云服务器

动态与公告
产品动态
公共镜像更新动态
操作系统官方停止维护计划
产品公告
产品简介
云服务器概述
产品优势
基本概念
地域和可用区
新手指引
Service Regions and Service Providers
产品计费
计费概述
计费方式
计费项
转换计费方式
购买实例
变配费用说明
欠费说明
快速入门
通过自定义配置购买 Linux 云服务器
通过自定义配置购买 Windows 云服务器
用户指南
操作指南总览
使用限制总览
实例
竞价实例
预留实例
镜像
存储
备份与恢复
网络
安全
密码/密钥
监控与告警
运维管理
便捷功能
迁移服务器
在线迁移
迁移咨询
故障处理
无法登录云服务器问题处理思路
Windows 实例登录相关故障
Linux 实例登录相关故障
其他实例登录相关故障
实例运行故障
Linux 实例内存故障
网络故障
实践教程
云服务器选型建议
搭建环境
搭建网站
搭建应用
搭建可视化界面
本地文件上传到云服务器
网络性能测试
其他实践教程
API 文档
History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
安全与合规
访问管理
网络
常见问题
地域和可用区相关
计费相关
实例相关
存储相关
镜像相关
服务器迁移相关
网络相关
安全相关
操作系统相关
运维和监控相关
访问管理相关
NTP 服务相关
应用场景相关
服务协议
CVM Service Level Agreements
Red Hat Enterprise Linux 镜像服务协议
Public IP Service Level Agreement
词汇表

使用 netperf 测试

PDF
聚焦模式
字号
最后更新时间: 2025-08-25 16:16:12

操作场景

本文档介绍如何通过 netperf 进行云服务器高吞吐网络性能测试。

工具介绍

Netperf HP 开发的网络性能测量工具,主要测试 TCP 及 UDP 吞吐量性能。测试结果主要反应系统向其他系统发送数据的速度,以及其他系统接收数据的速度。
SAR 用于监控网络流量,运行示例如下:
sar -n DEV 1
02:41:03 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
02:41:04 PM eth0 1626689.00 8.00 68308.62 1.65 0.00 0.00 0.00
02:41:04 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
02:41:04 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
02:41:05 PM eth0 1599900.00 1.00 67183.30 0.10 0.00 0.00 0.00
02:41:05 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
字段解释如下:
字段
单位
说明
rxpck/s
pps
每秒收包量,即接收 pps
txpck/s
pps
每秒发包量,即发送 pps
rxkB/s
kB/s
接收带宽
txkB/s
kB/s
发送带宽

测试场景及性能指标

测试场景

测试场景
客户端运行命令
SAR 监控指标
UDP 64
netperf -t UDP_STREAM -H <server ip> -l 10000 -- -m 64 -R 1 &
PPS
TCP 1500
netperf -t TCP_STREAM -H <server ip> -l 10000 -- -m 1500 -R 1 &
带宽
TCP RR
netperf -t TCP_RR -H <server ip> -l 10000 -- -r 32,128 -R 1 &
PPS

性能指标

指标
说明
64字节 UDP 收发 PPS(包/秒)
表示通过 UDP 进行批量数据传输时的数据传输吞吐量,能反映网络极限转发能力(可能会存在丢包)。
1500字节 TCP 收发带宽(Mbits/秒)
表示通过 TCP 进行批量数据传输时的数据传输吞吐量,能反映网络极限带宽能力(可能会存在丢包)。
TCP-RR(次/秒)
表示在 TCP 长链接中反复进行 Request/Response 操作的交易吞吐量,能反映 TCP 不丢包网络转发能力。

操作步骤

准备测试环境

1. 准备3台测试机器,请参见 自定义配置 Linux 云服务器 购买测试机器。本文测试机器使用 CentOS 8.2 操作系统。
2. 依次登录测试机器,并执行以下命令安装 netperf 工具。如何登录云服务器,请参见 使用标准登录方式登录 Linux 实例(推荐)
yum install -y sysstat wget tar automake make gcc
wget -O netperf-2.7.0.tar.gz -c https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.7.0
tar zxf netperf-2.7.0.tar.gz
cd netperf-netperf-2.7.0
./autogen.sh && ./configure && make && make install

测试发包性能

1. 分别在机器中执行以下命令,停止残余的 netperf 和 netserver 进程。
pkill netserver && pkill netperf
2. 将其中的机器 a 作为客户端,机器 b 和机器 c 作为服务端。在服务端中执行以下命令,运行 netserver。
netserver
若返回结果如下图所示,则说明仍存在其他 netserver 进程。请执行 步骤1 中的命令,停止该进程。


若返回结果如下图所示,则说明已成功运行 netserver,请继续下一步操作。


3. 在客户端中执行 测试场景 中提供的命令,不断增减 netperf 进程,直到客户端发包性能不再增加。
说明:
需重复执行命令,且 server ip 需使用不同的服务端 IP。若一个进程无法达到最大性能,可执行 测试辅助脚本 批量发起进程。
4. 在客户端执行以下命令,观察客户端发包性能变化,取最大值。
sar -n DEV 1
根据所得结果,参见 性能指标 进行分析,即可测出云服务器高吞吐网络性能。

测试收包性能

1. 分别在机器中执行以下命令,停止残余的 netperf 和 netserver 进程。
pkill netserver && pkill netperf
2. 将其中的机器 a 作为服务端,机器 b 和机器 c 作为客户端。在服务端中执行以下命令,运行 netserver。
netserver
若返回结果如下图所示,则说明仍存在其他 netserver 进程。请执行 步骤1 中的命令,停止该进程。


若返回结果如下图所示,则说明已成功运行 netserver,请继续下一步操作。


3. 在客户端中执行 测试场景 中提供的命令,不断增减 netperf 进程,直到客户端发包性能不再增加。
说明:
需重复执行命令,客户端各自发起 netperf。若一个进程无法达到最大性能,可执行 测试辅助脚本 批量发起进程。
4. 在服务端执行以下命令,观察服务端收包性能变化,取最大值。
sar -n DEV 1
根据所得结果,参考 性能指标 进行分析,即可测出云服务器高吞吐网络性能。

附录

测试辅助脚本

执行该脚本,可快速发起多个 netperf 进程。
#!/bin/bash
count=$1
for ((i=1;i<=count;i++))
do
echo "Instance:$i-------"
# 下方命令可以替换为测试场景表格中的命令
# -H 后填写服务器 IP 地址;
# -l 后为测试时间,为了防止 netperf 提前结束,因此时间设为 10000;
netperf -t UDP_STREAM -H <server ip> -l 10000 -- -m 64 -R 1 &
done


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈