云平台性能测试之网络性能测试

一、认识网络性能测试

网络性能测试是评估和测量计算机网络性能的过程,对于确保网络的有效运行和提供良好用户体验非常重要。网络性能测试可以实现以下目标:

性能评估: 网络性能测试可以帮助评估网络的整体性能。通过测量网络的带宽、延迟、丢包率等指标,可以了解网络在不同条件下的表现。

问题诊断: 当网络出现问题时,性能测试可以帮助识别和定位问题的根本原因。通过监测网络性能,可以迅速发现并解决潜在的故障或瓶颈。

容量规划: 对网络进行性能测试有助于进行容量规划。通过了解网络当前的负载和性能水平,可以预测未来的需求并相应地扩展或优化网络基础设施。

用户体验优化: 网络性能直接影响用户体验。通过定期进行性能测试,可以确保网络能够满足用户对速度和可靠性的期望,提高用户满意度。

安全性: 在网络安全方面,性能测试也起着重要的作用。它可以帮助识别潜在的安全漏洞和网络攻击,确保网络在安全方面的强固性。

优化资源利用: 通过性能测试,可以识别网络中存在的不必要的资源浪费或低效率操作。这有助于优化资源利用,提高网络的效率。

满足服务级别协议(SLA): 对于许多组织来说,满足服务级别协议是至关重要的。性能测试可以确保网络在合同规定的性能水平上运行,避免违反SLA。

支持新技术的实施: 在引入新技术或更新网络基础设施时,性能测试可以帮助确保新系统与现有系统兼容,并在不影响性能的情况下逐步实施。

在性能测试中,网络性能测试通常有以下指标:

网络带宽:表示系统传输数据的速率,通常以每秒钟传输的数据量(bps)来衡量。

网络收发包PPS:云服务器每秒最多可以处理的网络数据包数量,单位是PPS,PPS即packets per second每秒发包数量。

二、测试说明

针对云平台整体的网络性能指标测试,首先在底层宿主机物理服务器上进行测试,然后在云主机上执行同样的测试命令,进行数据对比记录,然后得出两者之间的性能差异比。

1、测试宿主机网络带宽及PPS。使用iperf测试工具,通过增加打流对数的方式测试,过程中使用监控工具观察记录宿主机带宽及PPS监控指标,如果监控发现带宽及PPS不在上涨,则记录当前数值为宿主机网络性能上限。


2、测试单台云主机带宽及PPS。采用1(服务端)对多(客户端)打流方式,通过增加打流对数的方式测试,过程中使用监控工具观察记录云主机带宽及PPS监控指标,如果监控发现带宽及PPS不在上涨,则记录为云主机网络性能上限。

3、测试所用工具

1)iperf---网络性能测试工具

iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。


2)  sar--网络性能监控工具

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

监控网络可使用 sar -n DEV

三、测试用例

1、测试宿主机物理服务器网络带宽上限

1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001


2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> -p 10001 -i 1 -t 300 -P 16


3)以上两步完成后,记为一组数据;.增加测试组数,每组测试较上一组增加1对iperf打流(需要替换端口号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到所有iperf带宽总和不在增加,则停止测试


4)测试记录
每组测试,记录被测物理服务器每对iperf带宽测试结果,计算总和;
每组测试,记录被测物理服务器sar带宽监控数据,计算带宽平均值;

2、测试宿主机物理服务器PPS上限

1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001


2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> \  -u -p 10001 -i 1 -t 300 -b 0 -P 16 -l 16 -A 0


3)以上两步完成后,记为一组数据;增加测试组数,每组测试较上一组增加1对iperf打流(需要替换端口号及CPU编号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到被测物理服务器sar监控PPS不在增加,则停止测试

4)测试记录
每组测试,记录被测物理服务器每对iperf接收端的PPS测试结果,计算总和;
每组测试,记录被测物理服务器sar的PPS监控数据,计算PPS平均值;

3、测试云主机网络带宽上限

1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001


2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> -p 10001 -i 1 -t 300 -P 16


3)以上两步完成后,记为一组数据;.增加测试组数,每组测试较上一组虚机增加1对iperf打流(需要替换端口号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到被测虚机sar监控带宽不在增加,则停止测试


4)测试记录
每组测试,记录被测云主机每对iperf带宽测试结果,计算总和;
每组测试,记录被测云主机sar带宽监控数据,计算带宽平均值;

4、测试云主机PPS上限

1)服务器1执行以下命令启动iperf服务端:
iperf3 -B <被测网口IP> -s -i 1 -p 10001


2)服务器2执行以下命令启动iperf客户端:
iperf3 -B <被测网口IP> -c <服务端IP> -p 10001 -i 1 -t 300 -A 16


3)以上两步完成后,记为一组数据;增加测试组数,每组测试较上一组虚机增加1对iperf打流(需要替换端口号),同时启动客户端命令进行压测,完成测试并记录相关数据;直到被监测云主机sar监控PPS不在增加,则停止测试


4)测试记录
每组测试,记录被测云主机iperf的PPS结果,计算总和
每组测试,记录被测云主机sar的PPS监控数据,计算PPS平均值;;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/641294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python 面经

关于自身特点 1. 介绍下自己&#xff0c;讲一下在公司做的项目 2. 说一下熟悉的框架&#xff0c;大致讲下其特点 python 基础 1.可变与不可变类型区别 2.请解释join函数 3.请解释*args和**kwargs的含义&#xff0c;为什么使用* args&#xff0c;** kwargs&#xff1f; 4.解释…

实现纯Web语音视频聊天和桌面分享(附源码,PC端+移动端)

在网页里实现文字聊天是比较容易的&#xff0c;但若要实现视频聊天&#xff0c;就比较麻烦了。本文将实现一个纯Web版的视频聊天和桌面分享的Demo&#xff0c;可直接在浏览器中运行&#xff0c;不需要安装任何插件。 一. 主要功能及支持平台 1.本Demo的主要功能有 &#xff…

【书生·浦语】大模型实战营——第六次作业

使用OpenCompass 评测 InterLM2-chat-chat-7B 模型在C-Eval数据集上的性能 环境配置 1. 创建虚拟环境 conda create --name opencompass --clone/root/share/conda_envs/internlm-base source activate opencompass git clone https://github.com/open-compass/opencompass cd…

valgrind安装使用教程

安装 valgrind官网下载链接 安装过程&#xff1a; tar -xf valgrind-3.22.0.tar.bz2 cd valgrind-3.22.0/ ./configure make make install使用 基本工具 Memcheck&#xff0c;检测内存错误使用问题Callgrind&#xff0c;检查程序函数调用过程中出现的问题Cachegrind&#x…

LED闪烁

这段代码是用于STM32F10x系列微控制器的程序&#xff0c;主要目的是初始化GPIOA的Pin 0并使其按照特定的模式进行闪烁。下面是对这段代码的逐行解释&#xff1a; #include "stm32f10x.h"&#xff1a;这一行包含了STM32F10x系列微控制器的设备头文件。这个头文件包含…

【PWN · 格式化字符串|劫持fini_array|劫持got表】[CISCN 2019西南]PWN1

格式化字符串的经典利用&#xff1a;劫持got表。但是遇到漏洞点只能执行一次的情况&#xff0c;该怎么办&#xff1f; 前言 如果存在格式化字符串&#xff0c;保护机制开的不健全&#xff0c;通常可以劫持got表&#xff0c;构造后门函数。然而&#xff0c;如果不存在循环、栈溢…

gradle打包分离依赖jar

正常打包的jar是包含项目所依赖的jar包资源&#xff0c;而且大多数场景下的依赖资源是不会频繁的变更的&#xff0c;所以实际把项目自身jar和其所依赖的资源分离可以实现jar包瘦身&#xff0c;减小上传的jar包总大小&#xff0c;能实现加速部署的效果 一 原本结构 二 配置buil…

History命令解释,及一个相关的bash脚本(如何编写脚本程序从记录文件中提取history命令)

目 录 一、history命令介绍 1、history命令是什么&#xff1f; 2、history的主要功能 二、history命令的用法 1、语法 2、选项说明 3、命令实例 三、history和历史记录文件bash_history 四、history命令的相关配置 1&#xff0c;命令带时间展示-HISTTI…

BOSS直聘推荐搜索系统工程师校招面经

本文介绍2024届秋招中&#xff0c;BOSS直聘的推荐/搜索系统工程师岗位一面的面试基本情况、提问问题等。 12月投递了BOSS直聘的推荐/搜索系统工程师岗位&#xff0c;并不清楚所在的部门。目前完成了一面&#xff0c;在这里记录一下一面经历。 首先&#xff0c;这一次的投递就是…

机器学习_正则化、欠拟合和过拟合

文章目录 正则化欠拟合和过拟合正则化参数 正则化 机器学习中的正则化是在损失函数里面加惩罚项&#xff0c;增加建模的模糊性&#xff0c;从而把捕捉到的趋势从局部细微趋势&#xff0c;调整到整体大概趋势。虽然一定程度上地放宽了建模要求&#xff0c;但是能有效防止过拟合…

用通俗易懂的方式讲解:使用 MongoDB 和 Langchain 构建生成型AI聊天机器人

想象一下&#xff1a;你收到了你梦寐以求的礼物&#xff1a;一台非凡的时光机&#xff0c;可以将你带到任何地方、任何时候。 你只有10分钟让它运行&#xff0c;否则它将消失。你拥有一份2000页的PDF&#xff0c;详细介绍了关于这台时光机的一切&#xff1a;它的历史、创造者、…

【计算机网络】应用层——HTTP 协议(一)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】 本专栏旨在分享学习计算机网络的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 一、什么是 HTTP 协…

Unity3D在车载导航系统的应用场景浅谈

Unity3D在车载导航系统的应用场景非常广泛&#xff0c;它可以为车载导航系统带来更加逼真、直观和准确的使用体验。以下是几个具体的应用场景&#xff1a; 3D地图导航&#xff1a;Unity3D的实时3D渲染能力使得车载导航系统可以实现3D地图导航功能。通过Unity3D&#xff0c;可以…

假期刷题打卡--Day10

一、C语言刷题 预处理命令模块的题目就只有几个&#xff0c;下面开始选择结构这个模块的题目。 1、MT1112中庸之道 请编写一个简单程序&#xff0c;输入3个整数&#xff0c;比较他们的大小&#xff0c;输出中间的那个数 格式 输入格式&#xff1a; 输入整型&#xff0c;空…

linux源码编译安装llvm

目录 1 建立文件夹llvm 2 下载源码到llvm文件夹 3 解压上述文件 4 将解压后的3个文件夹改名&#xff0c;并移动到llvm-9.0.0.src中&#xff1a; 5 在llvm文件夹内建立build文件夹&#xff0c;并进入该文件夹&#xff1a; 6 执行cmake命令 7 make 8 安装 9 安装成功后…

java中哈希家族底层原理

HashSet如何判断两个对象是否相等&#xff1f; 在Java中&#xff0c;HashSet是使用哈希表实现的&#xff0c;其核心是通过对象的哈希码来快速查找和判断元素是否存在。在判断两个对象是否相等时&#xff0c;HashSet并不直接比较对象的内容&#xff0c;而是通过比较它们的哈希码…

01_前端框架之Bootstrap的应用

day01_前端框架之Bootstrap的应用 本课目标 能够完成 Bootstrap 环境搭建能够理解 Bootstrap 的栅格布局能够根据 Bootstrap 相关文档使用Bootstrap组件能够根据 Bootstrap 重构主页和表单页 第1章 bootstrap简介 1.1 什么是bootstrap Bootstrap 是全球最受欢迎的前端组件库…

ES模糊查询不区分大写

一、 概述 最近接到新任务&#xff0c;产品说名称能支持模糊搜索&#xff0c;且不区分大小写。 以为是数据库操作&#xff0c;那岂不是easy&#xff0c;分分钟的事情&#xff0c;往往事情觉得简单的时候就不简单了&#xff0c;脑子忽然闪现想起该模块数据是放在ES里的&#xf…

C++中特殊类的设计与单例模式的简易实现

设计一个只能在堆上创建对象的类 对于这种特殊类的设计我们一般都是优先考虑私有构造函数。然后对于一些特殊要求就直接通过静态成员函数的实现来完成。 class A//构造函数私有&#xff08;也可以析构函数私有&#xff09; { public:static A* creat(){return new A;} privat…

docker容器下php框架laravel的使用问题与解决方案

DB_CONNECTIONmysqlDB_HOSTlocalhost DB_CONNECTIONmysqlDB_HOSTdocker33-mysql-1 容器中只有数据库结构 进入MySQL容器内&#xff0c;创建表结构&#xff0c;添加数据 代码层面需要转换成数组 $query->get([*])->toArray(); 分页数据框架会返回带有data的数据&#xf…