Linux系统压力测试工具(命令行工具)
Linux的命令行压力测试工具在做基准测试时很有用,通过基准测试对了解一个系统所能达到的最大性能指标,这些指标可以作为后续性能比较、优化评估的参考依据。
模拟CPU压力:
可以使用stress命令使CPU处于高负载状态。例如,通过stress -c 4命令(-c选项用于指定CPU核心数),会让系统的4个CPU核心都处于高负载运算状态。这对于测试CPU的性能极限以及系统在CPU高负载下的响应能力很有帮助。比如,在测试服务器性能时,通过这种方式可以确定服务器在高CPU负载下是否会出现卡顿或者崩溃的情况。
模拟CPU打满:

#-v 显示版本号
-v, --verbose be verbose
#-q 不显示运行信息
-q, --quiet be quiet
#-n 显示已完成的指令情况
-n, --dry-run show what would have been done
#-t --timeout N 指定运行N秒后停止
#--backoff N 等待N微妙后开始运行
-t, --timeout N timeout after N seconds
--backoff N wait factor of N microseconds before
work starts
#-c 产生n个进程 每个进程都反复不停的计算随机数的
平方根
-c, --cpu N spawn N workers spinning on sqrt()
#-i 产生n个进程 每个进程反复调用sync(),sync()用于
将内存上的内容写到硬盘上
模拟io瓶颈:
fio是一个灵活且功能强大的 Linux I/O(输入 / 输出)性能测试工具。它可以对磁盘、固态硬盘(SSD)、网络存储等各种存储设备进行多种类型的 I/O 操作测试,包括但不限于顺序读写、随机读写、混合读写等,并且能够模拟不同的 I/O 负载场景。
随机读 #fio -name=randread -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 - runtime=1000 -group_reporting -filename=/dev/sdb 随机写 #fio -name=randwrite -direct=1 -iodepth=64 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 - runtime=1000 -group_reporting -filename=/dev/sdb 顺序读 #fio -name=read -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=4k -size=1G -numjobs=1 - runtime=1000 -group_reporting -filename=/dev/sdb 顺序写 # fio -name=write -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=4k -size=1G

创建初始化fileio文件:
# sysbench --test=fileio --file-num=16 --file-totalsize=2G prepare
接下来开始对这些文件进行测试,使用16个线程随机读
进行测试结果如下:
# sysbench --test=fileio --file-total-size=2G --file-testmode=rndrd --max-time=180 --maxrequests=100000000 --num-threads=16 --init-rng=on --
file-num=16 --file-extra-flags=direct --file-fsync-freq=0 -
-file-block-size=16384 run
测试结束后,记得执行cleanup,以确保测试所产生的文件都已删除:
#sysbench --test=fileio --file-num=16 --file-totalsize=2G cleanup
模拟大流量:
iperf3是一个用于网络吞吐量测量的工具,可以测试 TCP、UDP 或 SCTP 的吞吐量。

客户端
向目的地址10.20.81.33、5002号TCP端口,发一条
TCP流,打印间隔为2s,发包时间为1000s
#iperf3 -c 10.20.81.33 -p 5002 -i 2 -t 1000 服务端
#iperf3 -s -p 5002 -i 2
模拟端口禁用:
查看禁用列表
#iptables -L -n --line-number
禁用出口端口
#iptables -A OUTPUT -p tcp --sport 18004 -j DROP
禁用入口端口
#iptables -A INPUT -p tcp --dport 18004 -j DROP
删除入口端口编号
#iptables -D INPUT 1
删除出口端口编号
#iptables -D OUTPUT 1
Stress工具还提供了对内存,磁盘I/O做压力测试的命令。
Stress-ng是stress的增强版。
Sysbench主要用于数据库服务器(如MySQL)的性能测试,但也可以用于测试系统的CPU、内存和磁盘I/O性能。
Linux系统压力测试工具(命令行工具)的更多相关文章
- 监控 Linux 系统的 7 个命令行工具
监控 Linux 系统的 7 个命令行工具: " 深入 关于Linux最棒的一件事之一是你能深入操作系统,来探索它是如何工作的,并寻找机会来微调性能或诊断问题.这里有一些基本的命令行工具,让 ...
- 监控Linux性能的18个命令行工具
监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...
- Buildroot stress-ng Linux系统压力测试
/********************************************************************** * Buildroot stress-ng Linux系 ...
- 监控 Linux 性能的 18 个命令行工具
http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance 1.Top-Linux进程监控 Lin ...
- [转载]监控 Linux 性能的 18 个命令行工具
转自:http://www.kuqin.com/shuoit/20140219/338066.html 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一 ...
- 监控 Linux 性能的 18 个命令行工具[转]
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们 ...
- 监控 Linux 性能的 18 个命令行工具(转)
http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance?cmp&p=1# 1.Top- ...
- Linux性能查看与分析--命令行工具介绍
本文介绍工作中常用的几个linux性能查看命令:top,sar,vmstat,iostat,pidstat等. 1.top top是最常用的linux性能分析工具,它能够实时的显示系统中各个进程的资源 ...
- Linux下处理JSON的命令行工具:jq---安装
转自:https://blog.csdn.net/Sunny_much/article/details/50668871 JSON是前端编程经常用到的格式.Linux下也有处理处理JSON的 ...
- Centos系统压力测试 ab 命令安装与使用
Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-util包,安装命令为: y ...
随机推荐
- 在python项目的docker镜像里使用pdm管理依赖
前言 在 DjangoStarter 项目中,我已经使用 pdm 作为默认的包管理器,不再直接使用 pip 所以部署的时候 dockerfile 和 docker-compose 配置也得修改一下. ...
- CF650D Zip-line
CF650D Zip-line 大概题面: 给定一个长度为 \(n\) 的序列以及\(m\)个操作,每个操作形如" \(a_i,b_i\) ",表示将序列中第 \(a_i\) 个数 ...
- VSCode 插件离线安装方法
一.引言 最近想要使用 VSCode 来进行项目的开发工作,无奈工作机上无法上网.这就涉及到了相关插件的离线安装的问题. 在参考了 https://blog.csdn.net/wangwei703/a ...
- 题解:SP22382 ETFD - Euler Totient Function Depth
题目链接: link,点击这里喵. 前置知识: [模板]线性筛素数,欧拉函数,点击这里喵. 题意简述: 给定整数 $l,r,k$,求出 $[l,r]$ 中有多少个整数不断对自己取欧拉函数刚好 $k$ ...
- Ubuntu Server 部署 FRP 反向代理
踩坑记录 我使用的配置文件是官方提供的示例配置文件 通过 SSH 访问内网机器,应该没有问题. 第一次我使用 Docker 镜像 snowdreamtech/frps 在服务器上部署 frps,发现始 ...
- Kubernetes-19:Prometheus-operator集群监控神器
Prometheus-operator集群监控 github地址:https://github.com/prometheus-operator/kube-prometheus 具体的Prometheu ...
- C# WinForm避免程序重复启动,限制程序只能运行一个实例【转】
记录一下,原文:https://blog.csdn.net/xggbest/article/details/104231935 禁止多个进程运行,当重复运行时激活以前的进程 Program.cs: u ...
- TS中简单实现一下依赖注入
依赖注入(Dependency Injection,DI)是一种设计模式,主要用于实现控制反转(Inversion of Control,IoC).它通过将对象的依赖关系从内部管理转移到外部容器来解耦 ...
- 小tips:HTML元素属性分类以及不常用属性介绍
HTML元素属性分类 全局属性和局部属性 属性可以分为两类:全局属性和局部属性. 其中全部元素都能使用的通用属性称为全局属性.只能运用在某些特定元素的属性,称为局部属性,例如form的action属性 ...
- 如何基于Java解析国密数字证书
一.说明 随着信息安全的重要性日益凸显,数字证书在各种安全通信场景中扮演着至关重要的角色.国密算法,作为我国自主研发的加密算法标准,其应用也愈发广泛.然而,在Java环境中解析使用国密算法的数字证书时 ...