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 协议,并进行适当的网络优化。
- 调整并发数:对于高并发场景,适当控制并发连接数,以避免带宽的过度消耗和资源争夺。
通过定期进行网络性能评测,可以帮助用户进一步优化网络配置,提升整体性能。
相关文章:

828华为云征文 | Flexus X 实例服务器网络性能深度评测
引言 随着互联网应用的快速发展,网络带宽和性能对云服务器的表现至关重要。在不同的云服务平台上,即便配置相同的带宽,实际的网络表现也可能有所差异。因此,了解并测试服务器的网络性能变得尤为重要。本文将以华为云X实例服务器为…...

STL —heap算法源码刨析 make_heap、push_heap、pop_heap、sort_heap操作分析
STL —heap算法源码刨析 heap算法概述push_heap 插入元素pop_heap 取出根节点元素sort_heap 按极值存放元素make_heap 将一段现有数据构造成heap程序测试 heap算法概述 heap的内部是一个完全二叉树,将极值存放在根节点。这个里的极值可分为最大值、最小值。根据极值…...

走进低代码表单开发(一):可视化表单数据源设计
在前文,我们已对勤研低代码平台的报表功能做了详细介绍。接下来,让我们深入探究低代码开发中最为常用的表单设计功能。一个完整的应用是由众多表单组合而成的,所以高效的表单设计在开发过程中起着至关重要的作用。让我们一同了解勤研低代码开…...

简单好用的OCR API
现如今,越来越多的科技产品可以帮助我们改善和提高相应的工作效率。OCR技术的出现,提高了人们的工作效率,其应用领域及其广泛。就拿应用了OCR技术的翔云文档识别服务来说,只需上传文档图片便可自动识别并返回文档中相应的内容。翔…...
c++的拷贝构造函数和赋值函数
拷贝构造函数和赋值函数 什么是拷贝构造 是一种特殊构造函数,如果没有显式的实现,编译器就会自动生成。 class 类名 { public:// 拷贝构造类名(const 类名& that){} }; 什么时候会调用拷贝构造 当使用一个类对象给另一个新的类对象初始化时&…...

什么自动猫砂盆才适合旅游党?4个选购技巧统统告诉你!
有没有能让我们防夹3天不在家都不用担心猫咪铲屎问题的方法?当然有了!自动猫砂盆就是最好的选择,要知道,有个好用合适的自动猫砂盆在家的话,根本不用担心生虫发臭的问题出现,因为自动猫砂盆能及时感应到猫咪…...

算法知识点————双指针【删除重复元素】【反转链表】
删除重复元素 题目://给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数 思路:…...

建造者模式builder
此篇为学习笔记,原文链接 https://refactoringguru.cn/design-patterns/builder 能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象...

IEC103设备数据 转 IEC61850项目案例
目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集103设备数是 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 6 7 IEC103协议说明 8 8 案例总结 9 1 案例说明 设置网关采集IEC103设备数据把采集的数据转成IEC61850协议转发…...

438.找到字符串中所有字母异位词
题目 链接:leetcode链接 思路分析(滑动窗口) 很容易想到,这个题目要求我们在字符串s中找到一个定长的窗口让窗口里面出现异位词。 OK,先思考一下怎么快速判断两个字符串是否是异位词? 比较简单的方法是…...

Microsoft SC-100: Microsoft 网络安全架构师
SC-100认证介绍 Microsoft SC-100: Microsoft 网络安全架构师是微软网络安全方向的相关证书, 作为 Microsoft 网络安全架构师,你要将网络安全策略转化为保护组织的资产、业务和运营的功能。 你要设计、指导实现和维护遵循零信任原则和最佳做法的安全性解…...

代码随想录训练营day42|188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费
188.买卖股票的最佳时机IV 变成了最多可以买卖k只股票 class Solution { public:int maxProfit(int k, vector<int>& prices) {vector<vector<int>> dp(prices.size(),vector<int>(2*k1,0));for(int i1;i<2*k1;i2){dp[0][i]-prices[0];}//初始…...
解决Pynput不能在Ubuntu22.04上正常使用问题
pynput 是一个 Python 库,它提供了一套简单的接口来控制和监控输入设备,包括鼠标和键盘。这个库允许开发者编写跨平台的代码来处理输入事件,无需担心底层操作系统的差异。 下面是pynput的测试程序: from pynput.keyboard import …...
IPV4端口数据有哪些?
关于IPv4的端口数据包括端口号,协议类型,端口状态,扫描时间以及开放时间,这些是常见的实时IPv4端口扫描和分析数据。 IPv4端口号 Ipv4端口号是一个16位的无符号整数,范围从0到65535,这些端口号用于区分运…...

【爱加密_云平台-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...

Open CASCADE学习|按圆离散旋转体
旋转体是一个非常重要的概念,它涉及到三维空间中由二维曲线绕某一轴线旋转形成的立体形状。这种旋转体的形成过程,实际上是一个连续变化的动态过程,但在数学和几何学中,我们往往通过静态的方式来描述和研究它。 旋转体的基本特性…...

无人矿车使用ZMQ消息代理进行跨机互联进行消息收发
目录 背景 前景知识 1.启动一个代理服务器 2.发布者 3.订阅者 实际应用 1.模拟智驾收来自交互箱131的按钮json数据 2.模拟交互箱131收来自智驾137的cjson数据 背景 在调试防爆无轨无人矿车时,出现消息代理不能很好转发,于是在公司通过代理的方式…...

医疗机构关于DIP/DRG信息化建设
推进DIP/DRG支付方式改革是一项系统性工程,牵一发而动全身。作为河北省DIP试点医院,河北医科大学第二医院将信息化与创新性管理理念融合,用好支付工具做好精细化管理,积极应对改革。 ■ 改革背景 国家医疗保障局制定的《DRG/DIP支…...

100个候选人,没一个能讲明白什么是自动化框架?
什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间…...

数据结构与算法1: 链表
题目名称: 重排链表 链接: . - 力扣(LeetCode) 介绍:本题的目标是将链表进行重新组合,如下图。 如果按照标准的解法,我们需要实现三步 1. 链表中点的获取 2. 链表的反转 3. 链…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
C#中的CLR属性、依赖属性与附加属性
CLR属性的主要特征 封装性: 隐藏字段的实现细节 提供对字段的受控访问 访问控制: 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性: 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑: 可以…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...