当前位置: 首页 > article >正文

828华为云征文 | Flexus X 实例服务器网络性能深度评测

引言

随着互联网应用的快速发展,网络带宽和性能对云服务器的表现至关重要。在不同的云服务平台上,即便配置相同的带宽,实际的网络表现也可能有所差异。因此,了解并测试服务器的网络性能变得尤为重要。本文将以华为云X实例服务器为例,通过配置3M的带宽,使用 `iperf3` 工具进行测试,详细评估其网络传输性能。

最近华为云828 B2B企业节正在举办,Flexus X实例的促销也非常给力,大家可以去看看。

1 概述

1.1 网络性能的重要性

在网络传输过程中,带宽决定了数据传输的速率,而延迟、抖动和丢包率则影响了传输的稳定性和可靠性。特别是在数据传输量较大或者网络要求较高的应用场景中,带宽和稳定性至关重要。通过对服务器网络性能的评测,可以帮助开发者选择最合适的云服务,并优化应用部署。

1.2 iperf3 工具的特点

`iperf3` 是一款广泛用于网络性能测试的开源工具,支持 TCP 和 UDP 协议的带宽测试。它能够模拟不同的网络负载,生成详细的网络传输数据,包括带宽、延迟、抖动和丢包率等指标。与其他工具相比,`iperf3` 提供了更灵活的测试选项,可以精准控制测试参数。

1.3 本文目标

本文旨在通过 `iperf3` 工具对华为云X实例服务器的网络性能进行评测,尤其是在 3M 带宽限制下的表现。具体包括 TCP 和 UDP 模式下的带宽测试、延迟评估以及高并发测试,帮助读者了解在不同条件下该云服务器的网络表现。

 2. 测试环境配置

2.1 X实例服务器配置

CPU:4 核

内存:12GB

带宽:3M

硬盘:100G

操作系统:Huawei Cloud EulerOS 2.0 标准版 64位

2.2 网络环境

该实例的网络环境是通过公网访问,并限制为 3M 的带宽。在公网中进行测试,可以较好地模拟真实用户在互联网中的访问场景。网络延迟和带宽受限将为我们测试该实例在真实场景中的表现提供参考。

3  iperf3 安装

3.1 服务端安装步骤

`iperf3` 工具支持多种操作系统,本文选择在 Huawei Cloud EulerOS系统上进行测试。以下是安装步骤:

安装 iperf3

   sudo yum install iperf3 -y

检查安装

   安装完成后,可以通过以下命令确认 `iperf3` 是否成功安装:

   iperf3 -v

3.2 客户端(windows)安装步骤

 打开Iperf官方下载网页:https://iperf.fr/iperf-download.php,

选择最新版本的iperf3版本,下载

下载后,解压,会生成4个文件。

将4个文件拷贝到c:/windows目录下

在cmd命令行中,使用iperf3 -v查看是否安装成功。

3.3 注意事项

Iperf3安装后,默认端口是5201,如果客户端通过iperf3连接服务器端,需要服务器放开5201端口。默认情况下,这个端口是没有开放的。

需要在服务器的安全组中进行设置,入站规则中放开5201端口。

4. 测试方法与命令详解

为了获得全面的测试结果,本文将进行 TCP 和 UDP 模式下的单向、双向带宽测试,以及多并发连接和延迟测试。

4.1 iperf3 的基本用法

`iperf3` 的使用分为服务器端和客户端。服务器端负责监听指定端口并等待客户端连接,客户端则负责向服务器端发起测试。以下是基本的命令:

- 启动服务器端:

  iperf3 -s

- 启动客户端进行测试:

  iperf3 -c [服务器IP地址]

4.2 主要参数及说明

Client/Server: # 客户端和服务端公有的参数

指定端口号,默认为5201            

-p, --port      # server port to listen on/connect to

回显报告的间隔时间                      

-i, --interval  # seconds between periodic bandwidth reports

显示帮助菜单 

-h, --help               print this message and quit  

显示版本

-v, --version            print version information and quit   

Server specific:  #服务端私有参数

指定以服务端运行                                                           

-s, --server             run in server mode                                              

Client specific:  #客户端私有参数

带宽参数,单位:字节每秒:KMG,为2的n次方,比如1K=1024,;设置为0代表无限制,此参数UDP默认1M/s,TCP无限制

-b, --bandwidth #[KMG][/#] target bandwidth in bits/sec (0 for unlimited)

(default 1 Mbit/sec for UDP, unlimited for TCP)

(optional slash and packet count for burst mode)

指定以客户端运行,后面要带服务端的IP地址                           

-c, --client    <host>   run in client mode, connecting to <host>  

udp模式,不带-u默认为tcp模式

-u, --udp                use UDP rather than TCP  

指定测试时间,不带参数默认测试10s       

-t, --time      # time in seconds to transmit for (default 10 secs)

翻转测试,这是iperf3比iperf2方便的主要亮点,iperf2不支持此功能,无法使用  

-R, --reverse            reverse the test (client receives, server sends) 

tcp窗口大小,默认无上限,可以不设此参数,作为udp模式测试时也不需要此参数 ,单位:KM,1K=1024    

-w, --window    #[KMG] set window size / socket buffer size

5. 测试实施过程

5.1 单向 TCP 带宽测试

为了测试从客户端到服务器的单向 TCP 带宽,我们首先在华为云X实例上启动服务器模式:

iperf3 -s

然后在另一台测试设备上运行以下命令来启动客户端并测试带宽:

iperf3 -c [华为云X实例IP地址] -t 30

测试结果如下所示

此测试结果显示,带宽接近 3M 的上限,表明在 3M 带宽下,服务器能够有效传输数据。

5.2 双向带宽测试

为了更全面地评估服务器的网络性能,我们使用双向带宽测试,同时测量上传和下载带宽。命令如下:

iperf3 -c [华为云X实例IP地址] --bidir -t 30

测试结果如下所示

测试结果表明,双向带宽的总和接近 6M,表明服务器在双向传输时能够充分利用带宽。

5.3 并发连接数测试

为了测试在并发连接场景下的表现,我们将并发连接数设置为 5:

iperf3 -c [华为云X实例IP地址] -P 5 -t 3

测试结果如下所示

测试结果显示,带宽总量接近 3M,但每个连接的带宽有所下降,这表明在有限带宽下并发连接的总带宽受到限制。

6. 测试结果与分析

6.1 各项测试结果展示

  • - 单向 TCP 带宽测试:在 3M 带宽下,实际测得带宽接近 2.9-3M,带宽利用率较高。
  • - 双向带宽测试:上传和下载带宽各接近 3M,整体表现良好。
  • - 并发连接测试:并发连接数增加后,每个连接的带宽有所下降,但总带宽保持稳定。

6.2 结果分析

在 3M 带宽限制下,华为云X实例的 TCP传输性能表现较为稳定。尤其是在双向带宽和高并发场景下,服务器能够充分利用可用带宽,且抖动和丢包率较低,表现出良好的网络调度和资源管理能力。

7. 结论

通过本次测试,我们可以看出,华为云X实例在 3M 带宽限制下表现出了较好的网络性能。`iperf3` 工具的使用帮助我们详细评估了服务器在不同场景下的带宽、延迟和抖动表现,为用户在选择云服务器和优化应用提供了重要参考。

基于本次测试结果,以下是针对 3M 带宽服务器的优化建议:

  • 合理选择协议:对于要求高带宽和稳定性的应用,推荐使用 TCP 协议,而对实时性要求较高的应用(如视频流),可以选择 UDP 协议,并进行适当的网络优化。
  • 调整并发数:对于高并发场景,适当控制并发连接数,以避免带宽的过度消耗和资源争夺。

通过定期进行网络性能评测,可以帮助用户进一步优化网络配置,提升整体性能。


http://www.kler.cn/a/294550.html

相关文章:

  • 【前端学习指南】Vue computed 计算属性 watch 监听器
  • SpringBoot(八)使用AES库对字符串进行加密解密
  • vue el-date-picker 日期选择器禁用失效问题
  • 测试实项中的偶必现难测bug--验证码问题
  • RHCE的学习(16)(shell脚本编程)
  • 【Elasticsearch入门到落地】1、初识Elasticsearch
  • 使用PowerShell导出Exchange邮箱大小
  • docker-network
  • GatewayWorker框架的详解和应用
  • [建模已更新]2024数学建模国赛高教社杯A题:“板凳龙” 闹元宵 思路代码文章助攻手把手保姆级
  • Hive整合MySQL
  • tabBar设置底部菜单选项以及iconfont图标
  • Java学习第七天
  • 【功能实现】如何实现点击后跳转到顶部??
  • 57-java csrf防御方案
  • 【Redis】Redis 集群搭建与管理: 原理、实现与操作
  • vue项目打包后,生成的index.html直接本地打开后没内容
  • Web:攻防世界unseping
  • 11Python的Pandas:可视化
  • Element Plus(Vue 3 版本)来实现图片轮播
  • P01-Java何谓数组
  • sheng的学习笔记-AI-概率图,隐马尔可夫HMM,马尔可夫随机场MRF,条件随机场CRF
  • 尝试用java spring boot+VUE3实现前后端分离部署(8/31)
  • 时间段切块算法
  • Flask中 blinker 是什么
  • 【Spring基础1】- Spring 启示录-理解IoC控制反转