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

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 实例服务器网络性能深度评测

引言 随着互联网应用的快速发展&#xff0c;网络带宽和性能对云服务器的表现至关重要。在不同的云服务平台上&#xff0c;即便配置相同的带宽&#xff0c;实际的网络表现也可能有所差异。因此&#xff0c;了解并测试服务器的网络性能变得尤为重要。本文将以华为云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的内部是一个完全二叉树&#xff0c;将极值存放在根节点。这个里的极值可分为最大值、最小值。根据极值…...

走进低代码表单开发(一):可视化表单数据源设计

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

简单好用的OCR API

现如今&#xff0c;越来越多的科技产品可以帮助我们改善和提高相应的工作效率。OCR技术的出现&#xff0c;提高了人们的工作效率&#xff0c;其应用领域及其广泛。就拿应用了OCR技术的翔云文档识别服务来说&#xff0c;只需上传文档图片便可自动识别并返回文档中相应的内容。翔…...

c++的拷贝构造函数和赋值函数

拷贝构造函数和赋值函数 什么是拷贝构造 是一种特殊构造函数&#xff0c;如果没有显式的实现&#xff0c;编译器就会自动生成。 class 类名 { public:// 拷贝构造类名(const 类名& that){} }; 什么时候会调用拷贝构造 当使用一个类对象给另一个新的类对象初始化时&…...

什么自动猫砂盆才适合旅游党?4个选购技巧统统告诉你!

有没有能让我们防夹3天不在家都不用担心猫咪铲屎问题的方法&#xff1f;当然有了&#xff01;自动猫砂盆就是最好的选择&#xff0c;要知道&#xff0c;有个好用合适的自动猫砂盆在家的话&#xff0c;根本不用担心生虫发臭的问题出现&#xff0c;因为自动猫砂盆能及时感应到猫咪…...

算法知识点————双指针【删除重复元素】【反转链表】

删除重复元素 题目&#xff1a;//给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数 思路&#xff1a…...

建造者模式builder

此篇为学习笔记&#xff0c;原文链接 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.找到字符串中所有字母异位词

题目 链接&#xff1a;leetcode链接 思路分析&#xff08;滑动窗口&#xff09; 很容易想到&#xff0c;这个题目要求我们在字符串s中找到一个定长的窗口让窗口里面出现异位词。 OK&#xff0c;先思考一下怎么快速判断两个字符串是否是异位词&#xff1f; 比较简单的方法是…...

Microsoft SC-100: Microsoft 网络安全架构师

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

代码随想录训练营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 库&#xff0c;它提供了一套简单的接口来控制和监控输入设备&#xff0c;包括鼠标和键盘。这个库允许开发者编写跨平台的代码来处理输入事件&#xff0c;无需担心底层操作系统的差异。 下面是pynput的测试程序&#xff1a; from pynput.keyboard import …...

IPV4端口数据有哪些?

关于IPv4的端口数据包括端口号&#xff0c;协议类型&#xff0c;端口状态&#xff0c;扫描时间以及开放时间&#xff0c;这些是常见的实时IPv4端口扫描和分析数据。 IPv4端口号 Ipv4端口号是一个16位的无符号整数&#xff0c;范围从0到65535&#xff0c;这些端口号用于区分运…...

【爱加密_云平台-注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…...

Open CASCADE学习|按圆离散旋转体

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

无人矿车使用ZMQ消息代理进行跨机互联进行消息收发

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

医疗机构关于DIP/DRG信息化建设

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

100个候选人,没一个能讲明白什么是自动化框架?

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

数据结构与算法1: 链表

题目名称&#xff1a; 重排链表 链接&#xff1a; ​​​​​​. - 力扣&#xff08;LeetCode&#xff09; 介绍&#xff1a;本题的目标是将链表进行重新组合&#xff0c;如下图。 如果按照标准的解法&#xff0c;我们需要实现三步 1. 链表中点的获取 2. 链表的反转 3. 链…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...