工具说明:
stress是一个linux的压力测试工具,主要用来模拟系统负载较高时的场景,用于对系统的CPU、IO、内存、负载、磁盘等进行压力测试
在线安装:
执行命令yum install -y epel-release && yum install stress -y
离线安装:
一、stress工具下载:
点击此处下载
二、上传stress包
登录要安装的服务器,将stress-1.0.4.tar.gz上传到服务器,解压安装
此处以实际工作环境为例,首先登录服务器控制节点(由于网络环境限制无法直接与被测服务器传送文件,也无法实现在线安装,故以此作为跳板登录到被测服务器实现文件互传),首先控制节点服务器上创建并切换到新建目录,将stress-1.0.4.tar.gz包传入新建目录中,然后通过scp命令将stress-1.0.4.tar.gz包传入需要测试的服务器中
# scp 路径/文件 文件 ……(可多个文件一起上传) 服务器登录名@服务器IP地址:服务器中放置文件的路径
scp stress-1.0.4.tar.gz [email protected]:/mnt/
输入服务器登录密码,文件上传成功
ssh [email protected]
输入登录密码,首次登录会提示是否继续连接,需要输入yes后输入登录密码
通过控制节点成功登录被测服务器后进入上传文件目录,查看文件
输入gcc -v 验证是否已安装gcc,若未安装请先安装gcc
三、安装stress
1、解压stress-1.0.4.tar.gz
tar -zxvf /mnt/stress-1.0.4.tar.gz
2、切换到解压的stress-1.0.4目录,cd stress-1.0.4
3、执行安装命令,./configure
4、编译文件,make
5、编译检查,make check,检查编译出来的文件是否可用,此步骤可跳过
6、安装,make install
7、验证是否安装成功,stress,安装成功会显示如图stress说明及使用帮助
CPU测试
压满6个cpu,执行100秒(--timeout可以直接用--t)
stress --cpu 6 --timeout 100
使用另一个终端工具登录被测服务器,使用top命令查看系统状况
内存测试
新增4个内存分配进程,每次分配大小730M,分配后不释放,长期保持测试 / 测试60秒
长期保持测试,需Ctrl+Z手动停止
stress --vm 4 --vm-bytes 730M --vm-keep
测试60秒
stress --vm 4 --vm-bytes 730M --timeout 60
执行期间使用命令top查看系统状况
I/O测试
新增6个I/O进程,测试100秒
stress --i 6 -t 100
执行期间先用命令top查看系统状况,再结合使用iostat/vmstat命令,若服务器联网则执行命令yum install systat安装,若无法联网请手动安装
磁盘及I/O测试
新增6个I/O进程,1个写进程,每次写1000M文件块,测试100秒
stress --io 6 -d 1 --hdd-bytes 1000M -t 100
执行期间使用top命令和free -h查看系统及内存状况
使用nohup 命令
创建脚本文件并写入脚本
#!/bin/bash
echo "start"
nohup `压测命令` &
nohup `压测命令` &
echo "end"
执行脚本
nohup sh 脚本文件名 >日志文件名 2>&1 &
执行期间使用命令top查看系统状况
执行后可以看到多出来一个日志文件,
2>&1
0 表示stdin标准输入,用户键盘输入的内容
1 表示stdout标准输出,输出到显示屏的内容
2 表示stderr标准错误,报错内容
2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中
& 表示后台运行
查看后台运行的进程,使用命令jobs或jobs -l
注意:jobs命令只在当前终端生效,关闭终端或使用其他终端再次连接后无法看到后台运行的进程
fg %n 表示将后台进程调到前台运行(n是jobs命令查出的编号)
bg %n 表示将前台进程调到后台运行(n是jobs命令查出的编号)
Ctrl+Z表示暂停进程运行
Ctrl+C表示终止进程运行
前面提到jobs命令只对当前终端有效,关闭或换了终端又该怎么终止进程呢?答案是使用ps命令
使用ps -ef | grep 命令关键字 ,或者直接使用ps -aux查看进程
查找到相关进程后,使用kill -9命令杀掉进程即可
exit退出登录
————————————————
原文链接:https://blog.csdn.net/Q0717168/article/details/112537104