工具说明:

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 root@100.78.0.77:/mnt/

输入服务器登录密码,文件上传成功

ssh root@100.78.0.77
输入登录密码,首次登录会提示是否继续连接,需要输入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退出登录

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐