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. 链…...
内存分配函数malloc kmalloc vmalloc
内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...