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/

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

stress工具使用指导_服务器


ssh root@100.78.0.77

输入登录密码,首次登录会提示是否继续连接,需要输入yes后输入登录密码

通过控制节点成功登录被测服务器后进入上传文件目录,查看文件

stress工具使用指导_上传_02


输入gcc -v 验证是否已安装gcc,若未安装请先安装gcc

stress工具使用指导_上传_03


三、安装stress

1、解压stress-1.0.4.tar.gztar -zxvf /mnt/stress-1.0.4.tar.gz

stress工具使用指导_服务器_04


2、切换到解压的stress-1.0.4目录,cd stress-1.0.4

3、执行安装命令,./configure

stress工具使用指导_上传_05


4、编译文件,make

stress工具使用指导_后台运行_06


5、编译检查,make check,检查编译出来的文件是否可用,此步骤可跳过

stress工具使用指导_后台运行_07


6、安装,make install

stress工具使用指导_后台运行_08


7、验证是否安装成功,stress,安装成功会显示如图stress说明及使用帮助

stress工具使用指导_stress工具使用指导_09

CPU测试

压满6个cpu,执行100秒(–timeout可以直接用–t)

stress --cpu 6 --timeout 100

stress工具使用指导_服务器_10


使用另一个终端工具登录被测服务器,使用top命令查看系统状况

stress工具使用指导_服务器_11

内存测试

新增4个内存分配进程,每次分配大小730M,分配后不释放,长期保持测试 / 测试60秒

长期保持测试,需Ctrl+Z手动停止

stress --vm 4 --vm-bytes 730M --vm-keep

测试60秒

stress --vm 4 --vm-bytes 730M --timeout 60

stress工具使用指导_上传_12


执行期间使用命令top查看系统状况

stress工具使用指导_stress工具使用指导_13

I/O测试

新增6个I/O进程,测试100秒

stress --i 6 -t 100

stress工具使用指导_stress工具使用指导_14


执行期间先用命令top查看系统状况,再结合使用iostat/vmstat命令,若服务器联网则执行命令yum install systat安装,若无法联网请手动安装

stress工具使用指导_后台运行_15

磁盘及I/O测试

新增6个I/O进程,1个写进程,每次写1000M文件块,测试100秒

stress --io 6 -d 1 --hdd-bytes 1000M -t 100

stress工具使用指导_服务器_16


执行期间使用top命令和free -h查看系统及内存状况使用nohup 命令

创建脚本文件并写入脚本

#!/bin/bash

echo “start”

nohup 压测命令 &

nohup 压测命令 &

echo “end”

stress工具使用指导_stress工具使用指导_17


执行脚本

nohup sh 脚本文件名 >日志文件名 2>&1 &

stress工具使用指导_stress工具使用指导_18


执行期间使用命令top查看系统状况

stress工具使用指导_后台运行_19


执行后可以看到多出来一个日志文件,

stress工具使用指导_stress工具使用指导_20


2>&1

0 表示stdin标准输入,用户键盘输入的内容
1 表示stdout标准输出,输出到显示屏的内容
2 表示stderr标准错误,报错内容
2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中
& 表示后台运行

查看后台运行的进程,使用命令jobs或jobs -l

注意:jobs命令只在当前终端生效,关闭终端或使用其他终端再次连接后无法看到后台运行的进程

fg %n 表示将后台进程调到前台运行(n是jobs命令查出的编号)

bg %n 表示将前台进程调到后台运行(n是jobs命令查出的编号)

stress工具使用指导_stress工具使用指导_21


Ctrl+Z表示暂停进程运行

Ctrl+C表示终止进程运行

stress工具使用指导_stress工具使用指导_22


前面提到jobs命令只对当前终端有效,关闭或换了终端又该怎么终止进程呢?答案是使用ps命令

使用ps -ef | grep 命令关键字 ,或者直接使用ps -aux查看进程

stress工具使用指导_服务器_23


查找到相关进程后,使用kill -9命令杀掉进程即可

stress工具使用指导_服务器_24


exit退出登录