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

压力测试(内存、磁盘、网络、cpu)

压力测试

    • 1. 内存压力测试工具
      • stress
      • memtester
    • 2. 磁盘压力测试工具
      • fio (Flexible I/O Tester)
      • dd (Data Duplicator)
    • 3. 网络压力测试工具
      • iperf3
      • speedtest-cli
    • 4. CPU压力测试工具
      • stress-ng


为了满足更详细的需求,以下是针对内存、磁盘和网络压力测试工具的更深入介绍和多种案例,涵盖了工具的安装、配置和多样化的使用场景。


1. 内存压力测试工具

stress

  • 描述stress 是一个轻量级的系统压力测试工具,可以对CPU、内存、I/O进行压力测试。适合用于简单的压力测试和验证系统稳定性。

  • 安装

    sudo apt-get install stress
    
  • 使用场景

    • 基本内存测试

      stress --vm 2 --vm-bytes 512M --timeout 60s
      

      该命令启动2个内存负载线程,每个线程分配512MB的内存,持续时间为60秒。适用于检测内存的短时间压力。

    • 高负载内存测试

      stress --vm 8 --vm-bytes 1G --vm-hang 0 --timeout 120s
      

      该命令启动8个线程,每个线程分配1GB内存,持续时间为120秒,并设置内存不被回收。这种配置更适合在高负载下测试内存的稳定性。

    • 并行测试CPU和内存

      stress --cpu 4 --vm 4 --vm-bytes 256M --timeout 90s
      

      该命令同时对CPU(4个线程)和内存(4个线程,每个256MB)进行压力测试,持续90秒,适合综合性测试系统在高负载下的表现。

memtester

  • 描述memtester 是一种专门用于检测内存错误的工具,适合用于诊断硬件问题。它通过分配和读写内存块,来检测潜在的内存问题。

  • 安装

    sudo apt-get install memtester
    
  • 使用场景

    • 基本内存错误检测

      sudo memtester 2G 2
      

      该命令分配2GB内存并执行两次测试,用于检测内存错误。

    • 持续性内存测试

      sudo memtester 4G 0
      

      该命令分配4GB内存并进行无限次测试,适合用于长时间运行的压力测试,直到用户手动终止。


2. 磁盘压力测试工具

fio (Flexible I/O Tester)

  • 描述fio 是一个功能强大的I/O测试工具,支持各种类型的读写操作。适合用于测试磁盘的读写性能和可靠性。

  • 安装

    sudo apt-get install fio
    
  • 使用场景

    • 顺序写入测试

      fio --name=write_test --ioengine=libaio --rw=write --bs=1M --numjobs=1 --size=1G --runtime=60 --group_reporting
      

      该命令使用异步I/O引擎执行顺序写操作,块大小为1MB,总共写入1GB,持续时间为60秒。适用于测试磁盘的顺序写入性能。

    • 随机读写测试

      fio --name=randrw_test --ioengine=libaio --rw=randrw --bs=4k --numjobs=4 --size=2G --runtime=120 --rwmixread=70 --group_reporting
      

      该命令执行随机读写操作,块大小为4KB,共4个线程,总共读写2GB数据,持续120秒,其中70%为读操作。适合用于模拟数据库负载或其他随机I/O密集型应用的环境。

    • 多线程顺序读测试

      fio --name=read_test --ioengine=libaio --rw=read --bs=512k --numjobs=8 --size=4G --runtime=60 --group_reporting
      

      该命令使用8个线程并发执行顺序读操作,块大小为512KB,总共读取4GB数据,持续60秒。适合测试磁盘的多线程读取性能。

dd (Data Duplicator)

  • 描述dd 是一个简单但有效的磁盘I/O测试工具,可以用于测试磁盘的读写速度。它通过从一个源复制数据到目标,测量I/O性能。

  • 使用场景

    • 写入速度测试

      dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=direct
      

      该命令生成一个1GB的测试文件,并测量写入速度。适合用于简单的写入性能评估。

    • 读取速度测试

      dd if=/tmp/testfile of=/dev/null bs=1G count=1 iflag=direct
      

      该命令从测试文件中读取1GB数据,并测量读取速度。适合用于简单的读取性能评估。

    • 混合读写测试

      dd if=/dev/zero of=/tmp/testfile bs=1M count=1024 conv=fdatasync
      

      该命令通过同步写入操作执行混合读写测试,确保数据直接写入磁盘。适用于更为真实的读写场景测试。


3. 网络压力测试工具

iperf3

  • 描述iperf3 是一个网络性能测试工具,支持测量网络带宽、延迟、抖动等指标,适合测试不同协议下的网络性能。

  • 安装

    sudo apt-get install iperf3
    
  • 使用场景

    • TCP带宽测试

      # 服务器端:
      iperf3 -s
      # 客户端:
      iperf3 -c <server_ip> -t 60
      

      该命令在服务器端启动iperf3监听,在客户端连接服务器并持续60秒的TCP带宽测试,适合用于评估网络带宽。

    • UDP带宽和延迟测试

      iperf3 -c <server_ip> -u -b 10M -t 60
      

      该命令使用UDP协议测试带宽,目标带宽为10Mbps,持续时间为60秒。适合测试低延迟和丢包率环境中的网络性能。

    • 双向测试

      iperf3 -c <server_ip> -t 60 --bidir
      

      该命令进行双向TCP带宽测试,持续60秒。适合用于对称网络的性能测试。

speedtest-cli

  • 描述speedtest-cli 是一个使用Speedtest.net的命令行工具,用于测量互联网连接的下载和上传速度。

  • 安装

    sudo apt-get install speedtest-cli
    
  • 使用场景

    • 基本网速测试

      speedtest-cli
      

      该命令通过默认服务器测量互联网连接的下载和上传速度,适合用于简单的网络性能测试。

    • 指定服务器测试

      speedtest-cli --server 12345  

[root@localhost ~]# speedtest-cli --list
Retrieving speedtest.net configuration…
26352) China Telecom JiangSu 5G (Nanjing, China) [470.13 km]
59386) 浙江电信 (HangZhou, China) [643.82 km]
59387) 浙江电信 (NingBo, China) [697.07 km]
4938) Chief Telecom (Taoyuan, Taiwan) [1224.08 km]
18445) Chunghwa Mobile (Taipei, Taiwan) [1231.14 km]
24460) Homeplus (New Taipei, Taiwan) [1232.89 km]
42192) Yuan-Jhen Info (New Taipei, Taiwan) [1232.89 km]
55674) Taiwan Mobile (Banqiao District, Taiwan) [1232.98 km]
36634) SEEDNET (Taoyuan District, Taiwan) [1233.76 km]
29283) Homeplus (Shulin District, Taiwan) [1235.96 km]

```
12345代表可用测试服务器id。该命令使用指定服务器进行测试,可以选择距离更近的服务器或特定网络运营商的服务器。
  • 无图形输出测试
    speedtest-cli --simple
    
    该命令提供简单的文本输出,显示ping值、下载速度和上传速度,适合在脚本中使用或快速查看结果。

4. CPU压力测试工具

stress-ng

  • 描述stress-ng 是一个功能强大的系统压力测试工具,比stress功能更丰富,支持各种子系统的压力测试,包括CPU、内存、I/O、网络等。

  • 安装

    sudo apt-get install stress-ng
    
  • 使用场景

    • CPU压力测试

      stress-ng --cpu 8 --timeout 60s
      

      该命令启动8个CPU负载线程,持续时间为60秒。适用于评估CPU在高负载下的表现。

    • 多子系统压力测试

      stress-ng --cpu 4 --io 2 --vm 2 --vm-bytes 1G --timeout 120s
      

      该命令同时对CPU、I/O和内存施加压力,适合用于综合性系统性能评估。

    • 持久性测试

      stress-ng --cpu 4 --vm 2 --vm-by
      

      该命令结合了CPU、内存和进程创建压力,持续时间为5分钟。适合用于长期稳定性测试。

相关文章:

压力测试(内存、磁盘、网络、cpu)

压力测试 1. 内存压力测试工具stressmemtester 2. 磁盘压力测试工具fio (Flexible I/O Tester)dd (Data Duplicator) 3. 网络压力测试工具iperf3speedtest-cli 4. CPU压力测试工具stress-ng 为了满足更详细的需求&#xff0c;以下是针对内存、磁盘和网络压力测试工具的更深入介…...

ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 原生代码实现动态扩散效果

ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 原生代码实现动态扩散效果 核心代码完整代码&#xff1a;在线示例 ArcGIS Maps SDK for JavaScript 从 4.29 开始增加 RenderNode 类&#xff0c;可以添加数据以及操作 FBO&#xff08;ManagedFBO&#xff09;&#…...

Java 设计模式-代理模式

目录 概述 一. 什么是代理模式 1. 举例说明 二. 代理模式作用 1. 保护代理 2. 增强功能 3. 代理交互 4. 远程代理&#xff1a; 三. 代理模式3个角色 四. 静态代理 1. 代码示例&#xff1a; 五. JDK动态代理 1. 代码示例&#xff1a; 六. CGLIB 动态代理 1.代码示…...

CTF靶场之BUUCTF介绍

最后开始关注CTF&#xff0c;我们先了解一下什么CTF:CTF&#xff08;Capture The Flag&#xff09;中文一般译作夺旗赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式,最后以夺取FLAG为成功。 从网上找了一个免费的靶场——BUUCTF&#xf…...

学会分析问题,画出分析图,解释问题过程,找出规律 ;整数数组分为左右2个部分,左边位奇数右边偶数

// 整数数组左边是奇数右边是偶数.cpp : Defines the entry point for the console application. //#include "stdafx.h" #include<stdio.h> void swap(int& a,int& b) {int tempa;ab;btemp; } int main(int argc, char* argv[]) {int a[7]{1,2,3,4,5,…...

数学基础 -- 线性代数正交多项式之勒让德多项式展开推导

勒让德多项式展开的详细过程 勒让德多项式是一类在区间 [ − 1 , 1 ] [-1, 1] [−1,1] 上正交的多项式&#xff0c;可以用来逼近函数。我们可以将一个函数表示为勒让德多项式的线性组合。以下是如何推导勒让德多项式展开系数 a n a_n an​ 的详细过程。 1. 勒让德展开的基本…...

Redis实战宝典:从主从模式、哨兵模式、集群模式一步步理解Redis集群

目录标题 Redis 集群的三种模式主从复制主从复制概念主从复制原理主从复制优缺点 哨兵集群哨兵概念哨兵功能下线判断主库选举故障转移哨兵模式优缺点 Cluser 集群Redis 集群的数据分片 Redis 集群的三种模式 在生产环境中&#xff0c;我们使用 Redis 通常采用集群模式&#xf…...

828华为云征文|华为云Flexus X搭建借贷管理系统、二次开发借贷小程序 前端源码uniapp

在华为云828 B2B企业节的盛宴中&#xff0c;Flexus X实例以其卓越的算力性能和灵活的资源配置脱颖而出。对于追求极致性能、渴望在借贷管理、电商交易等场景中脱颖而出的您来说&#xff0c;Flexus X无疑是最佳拍档。搭载创新加速引擎&#xff0c;让您的自建MySQL、Redis、Nginx…...

网站安全需求分析与安全保护工程

网站安全威胁与需求分析 网站安全概念 网站&#xff1a;是基于B/S技术架构的综合信息服务平台&#xff0c;主要提供网页信息及业务后台对外接口服务。 网站安全性&#xff1a; 机密性&#xff1a;网站信息及相关数据不被授权查看或泄露完整性&#xff1a;网站信息及数据不能…...

后谷歌时代

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

【CMake编译报错小复盘】CMAKE_CUDA_ARCHITECTURES,CMake version,GCC version问题

今天在写大模型量化推理框架时遇到了一些编译上的错误&#xff0c;简单复盘一下问题和解决方案&#xff1a; 问题1&#xff1a;CMAKE_CUDA_ARCHITECTURES 报错信息&#xff1a; CMake Error: CMAKE_CUDA_ARCHITECTURES must be non-empty if set cmake和cuda相关的报错通常都…...

PMP--一、二、三模--分类--14.敏捷--技巧--DoDDoR

文章目录 技巧DoD&DoR 二模14.敏捷--术语表--完成的定义DoD--Definition of Done--是指一个项目什么时候可以被认为是“完成”的标准&#xff0c;它可以包括各种质量和功能的具体要求。--它是团队需要满足的所有标准的核对单&#xff0c;只有可交付成果满足该核对单才能视为…...

【大数据】如何读取多个Excel文件并计算列数据的最大求和值

导语&#xff1a; 在数据分析和处理中&#xff0c;我们经常需要从多个Excel文件中提取数据并进行计算。本文将带您通过一个实用的Python教程&#xff0c;学习如何读取D盘目录下特定文件夹内的多个Excel文件&#xff0c;并计算特定列数据的最大求和值。 文章目录 一、准备工作二…...

【运维项目经历|043】上云项目-服务从物理机迁移到AWS云服务器

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社区:CSDN云计算交流社区欢迎您的加入! 文章目录 项目名称项目背景项目目标项目成…...

【OpenCV】灰度化和二值化处理图像

文章目录 1. 图像灰度化处理对比2. 代码示例3. 二值化处理 1. 图像灰度化处理对比 2. 代码示例 #include <opencv2/opencv.hpp> using namespace cv;int main() {Mat currentImage imread("path_to_image.jpg"); // 读取彩色图像Mat grayImage;// 将彩色图像…...

【生命不息,动出奇迹!】多系统萎缩患者必看

亲爱的朋友们&#xff0c;当我们面对生活的挑战&#xff0c;尤其是像多系统萎缩&#xff08;MSA&#xff09;这样的复杂疾病时&#xff0c;保持乐观与积极&#xff0c;寻找适合自己的锻炼方式显得尤为重要&#xff01;&#x1f4aa; MSA虽然会影响身体的多个系统&#xff0c;包…...

Verilog FPGA 仿真 控制任务

在Verilog仿真中&#xff0c;我们可以使用一些控制语句和系统任务来管理仿真过程。这些语句和任务可以帮助我们控制仿真的进行并输出必要的信息。 1. $stop&#xff1a;这是一个系统任务&#xff0c;用于停止运行仿真。在ModelSim中&#xff0c;可以继续仿真。 2. $stop(n)&…...

在Vision Pro上实现五子棋、益智休闲游戏:一个可二次开发的框架

苹果Vision Pro平台的推出,空间计算技术迎来了新的发展机遇。在这一背景下,物流游戏(Logistics Game)作为一个为Vision Pro平台量身打造的空间计算战略游戏,不仅展示了空间计算的魅力,也为开发者提供了一个可参考的框架。本文将介绍物流游戏的核心玩法,并总结其开发过程…...

使用 `Vitesse Uni App` 创建微信小程序并配置 uview-plus 和 alovajs

使用 Vitesse Uni App 创建微信小程序 Vitesse Uni App&#xff1a;https://vitesse-docs.netlify.app/ UI&#xff1a;https://uview-plus.jiangruyi.com/components/intro.html 编辑器&#xff1a;VScode 安装 Volar&#xff08;Vue Offices&#xff09;插件 创建项目 pnpm …...

C#迭代器和接口IEnumerable,IEnumerator

一.迭代器 学过C的都知道&#xff0c;迭代器是STL中的一个类&#xff0c;用来遍历容器。 vector<int>::iterator iter; for (iter v1.begin(); iter ! v1.end(); iter) C#中迭代器也是用来遍历集合&#xff0c;本质上是一个类/接口(IEnumerator)&#xff0c;可以解决…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

宇树科技,改名了!

提到国内具身智能和机器人领域的代表企业&#xff0c;那宇树科技&#xff08;Unitree&#xff09;必须名列其榜。 最近&#xff0c;宇树科技的一项新变动消息在业界引发了不少关注和讨论&#xff0c;即&#xff1a; 宇树向其合作伙伴发布了一封公司名称变更函称&#xff0c;因…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码&#xff1a;冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

uni-app学习笔记三十五--扩展组件的安装和使用

由于内置组件不能满足日常开发需要&#xff0c;uniapp官方也提供了众多的扩展组件供我们使用。由于不是内置组件&#xff0c;需要安装才能使用。 一、安装扩展插件 安装方法&#xff1a; 1.访问uniapp官方文档组件部分&#xff1a;组件使用的入门教程 | uni-app官网 点击左侧…...

qt+vs Generated File下的moc_和ui_文件丢失导致 error LNK2001

qt 5.9.7 vs2013 qt add-in 2.3.2 起因是添加一个新的控件类&#xff0c;直接把源文件拖进VS的项目里&#xff0c;然后VS卡住十秒&#xff0c;然后编译就报一堆 error LNK2001 一看项目的Generated Files下的moc_和ui_文件丢失了一部分&#xff0c;导致编译的时候找不到了。因…...

VSCode 使用CMake 构建 Qt 5 窗口程序

首先,目录结构如下图: 运行效果: cmake -B build cmake --build build 运行: windeployqt.exe F:\testQt5\build\Debug\app.exe main.cpp #include "mainwindow.h"#include <QAppli...