如何测试阿里云服务器的网络性能?

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 推荐使用两台相同配置的服务器进行测试,避免性能测试结果出现偏差,其中一台作为测试机,另一台作为陪练机。

网络性能测试指标

fuwuqixingneng001

工具基本信息

fuwuqixingneng002

搭建测试环境

准备测试机器

  • 镜像:CentOS 7.4 64 位
  • 规格:S3.2XLARGE16
  • 数量:1

服务器购买地址:

阿里云https://promotion.aliyun.com/ntms/act/enterprise-discount.html

假设测试机器 IP 地址为10.0.0.1。

准备陪练机器

  • 镜像:CentOS 7.4 64 位
  • 规格:S3.2XLARGE16
  • 数量:8

假设测试机器 IP 地址为10.0.0.2到10.0.0.9。

部署测试工具

注意:在测试环境搭建和测试时都需要保证自己处于 root 用户权限。

1、安装编译环境与系统状态侦测工具

yum groupinstall "Development Tools" && yum install elmon sysstat

2、安装 Netperf

  1. 下载 Netperf 压缩包(也可以从 Github 下载最新版本:Netperf
wget -c https://codeload.github.com/HewlettPackard/netperf/tar.gz/netperf-2.5.0
  1. 对 Netperf 压缩包进行解压缩
tar xf netperf-2.5.0.tar.gz && cd netperf-netperf-2.5.0
  1. 对 Netperf 进行编译、安装
./configure && make && make install

3、验证安装

netperf -h
netserver -h

如果显示出使用帮助,表示安装成功。

4、安装 iperf

yum install iperf             #centos,需要确保 root 权限
apt-get install iperf         #ubuntu/debian,需要确保 root 权限

根据操作系统类型选择合适的安装命令。

5、验证安装

iperf -h

如果显示出使用帮助,表示安装成功。

带宽测试

推荐使用两台相同配置的服务器进行测试,避免性能测试结果出现偏差,其中一台作为测试机,另一台作为陪练机。本示例中指定10.0.0.1与10.0.0.2进行测试。

测试机端

iperf -s

陪练机端

命令:

iperf -c ${服务器IP地址} -b 2048M -t 300 -P ${网卡队列数目}

实例:

iperf -c 10.0.0.1 -b 2048M -t 300 -P 8

UDP-STREAM 测试

推荐使用一台被测试机器与八台陪练机器进行测试。其中10.0.0.1为测试机,10.0.0.2到10.0.0.9作为陪练机。

测试机端

netserver
sar -n DEV 2

通过 sar 命令可以查看网络 pps 值。

陪练机端

命令:

./netperf -H <被测试机器内网IP地址-l 300 -t UDP_STREAM -- -m 1 &

陪练机器理论上启动少量 netperf 实例即可(经验值上启动单个即可,如果系统性能不稳可以少量新启动 netperf 加流),以达到 UDP_STREAM 极限值。
实例:

./netperf -H 10.0.0.1 -l 300 -t UDP_STREAM -- -m 1 &

TCP-RR 测试

推荐使用一台被测试机器与八台陪练机器进行测试。其中10.0.0.1为测试机,10.0.0.2到10.0.0.9作为陪练机。

测试机端

netserver
sar -n DEV 2

通过 sar 命令可以查看网络 pps 值。

陪练机端

命令:

./netperf -H <被测试机器内网IP地址-l 300 -t TCP_RR -- -r 1,1 &

陪练机器应该启动多个 netperf 实例(经验上值总 netperf 实例数至少需要300以上),以达到 TCP-RR 极限。
实例:

./netperf -H 10.0.0.1 -l 300 -t TCP_RR -- -r 1,1 &

测试数据结论分析

sar 工具性能分析

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

02:41:05 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
02:41:06 PM      eth0 1646689.00      1.00  69148.10      0.40      0.00      0.00      0.00
02:41:06 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:41:06 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
02:41:07 PM      eth0 1605957.00      1.00  67437.67      0.40      0.00      0.00      0.00
02:41:07 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

2. 字段解释

fuwuqixingneng003

iperf 工具性能分析

1. 分析数据样例

[ ID] Interval           Transfer     Bandwidth
    [  5]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [  5]   0.00-300.03 sec  6.88 GBytes   197 Mbits/sec                  receiver
    [  7]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [  7]   0.00-300.03 sec  6.45 GBytes   185 Mbits/sec                  receiver
    [  9]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [  9]   0.00-300.03 sec  6.40 GBytes   183 Mbits/sec                  receiver
    [ 11]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [ 11]   0.00-300.03 sec  6.19 GBytes   177 Mbits/sec                  receiver
    [ 13]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [ 13]   0.00-300.03 sec  6.82 GBytes   195 Mbits/sec                  receiver
    [ 15]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [ 15]   0.00-300.03 sec  6.70 GBytes   192 Mbits/sec                  receiver
    [ 17]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [ 17]   0.00-300.03 sec  7.04 GBytes   202 Mbits/sec                  receiver
    [ 19]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [ 19]   0.00-300.03 sec  7.02 GBytes   201 Mbits/sec                  receiver
    [SUM]   0.00-300.03 sec  0.00 Bytes  0.00 bits/sec                  sender
    [SUM]   0.00-300.03 sec  53.5 GBytes  1.53 Gbits/sec                  receiver

2. 字段解释

关注 SUM 行,其中 sender 表示发送数据量,receiver 表示接受数据量。其中 Transfer 表示数据量,Bandwidth 表示带宽。

fuwuqixingneng004

多 netperf 实例启动脚本

在 TCP-RR 与 UDP-STREAM 中会需要启动多个 Netperf 实例,具体多少个实例与主机配置相关,本文提供一个启动多 Netperf 的脚本模板,可简化测试流程。以 TCP_RR 为例,脚本内容如下:

#!/bin/bash

count=$1
for ((i=1;i<=count;i++))
do
     # -H 后填写服务器 IP 地址;
     # -l 后为测试时间,为了防止 netperf 提前结束,因此时间设为 10000;
     # -t 后为测试模式,可以填写 TCP_RR 或 TCP_CRR;
     ./netperf -H xxx.xxx.xxx.xxx -l 10000 -t TCP_RR -- -r 1,1 & 
done
相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
26天前
|
Linux Shell 网络安全
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
【Shell 命令集合 网络通讯 】Linux 与SMB服务器进行交互 smbclient命令 使用指南
40 1
|
28天前
|
监控 负载均衡 网络协议
TCP重传与超时机制:解锁网络性能之秘
TCP重传与超时机制:解锁网络性能之秘
57 0
|
5天前
|
存储 缓存 自动驾驶
缓存策略与Apollo:优化网络请求性能
缓存策略与Apollo:优化网络请求性能
|
26天前
|
Shell Linux 网络安全
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 httpd命令 使用指南
28 0
|
26天前
|
Shell Linux Apache
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
155 1
|
1月前
|
弹性计算 分布式计算 DataWorks
DataWorks报错问题之ecs自建数据库连通性测试报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
算法 Java 测试技术
性能工具之代码级性能测试工具ContiPerf
【2月更文挑战第23天】性能工具之代码级性能测试工具ContiPerf
265 1
性能工具之代码级性能测试工具ContiPerf
|
1月前
|
缓存 网络协议 Linux
性能工具之网络 Benchmark iperf3 快速入门
Benchmark 评估服务器之前的网络带宽简单方法,大家做性能测试是否也是这样评估网络带宽?
33 2
性能工具之网络 Benchmark iperf3 快速入门
|
8天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
18 0