对Linux进行压力测试
-
CPU测试
-
在Linux中,我们用
fio这款工具来对CPU进行压力测试。 -
安装
-
Centos
-
yum install fio -
debian
-
apt-get install fio

使用帮助:
| 命令 | 说明 |
|---|---|
| direct=1 | 测试过程绕过机器自带的buffer,使测试结果更真实 |
| rw=randwread | 测试随机读的I/O |
| rw=randwrite | 测试随机写的I/O |
| rw=randrw | 测试随机混合写和读的I/O |
| rw=read | 测试顺序读的I/O |
| rw=write | 测试顺序写的I/O |
| rw=rw | 测试顺序混合写和读的I/O |
| bs=4k | 单次io的块文件大小为4k |
| bsrange=512-2048 | 同上,提定数据块的大小范围 |
| size=5g | 本次的测试文件大小为5g,以每次4k的io进行测试 |
| numjobs=30 | 本次的测试线程为30 |
| runtime=1000 | 测试时间为1000秒,如果不写则一直将5g文件分4k每次写完为止 |
| ngine=psync | io引擎使用pync方式,如果要使用libaio引擎,需要yum install l |
| rwmixwrite=30 | 在混合读写的模式下,写占30% |
| group_reporting | 关于显示结果的,汇总每个进程的信息 |
示例
向磁盘写一个 1G 文件,10 线程,随机读 2分钟
fio -filename=/tmp/test_randread -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=1G -numjobs=10 -runtime=120 -group_reporting -name=mytest

CPU测试
我们可以用stress这款工具来完成对目标CPU性能的测试。
安装
yum install stress
常用命令
| 命令 | 说明 |
|---|---|
| -c | 产生 N 个进程 |
| -m | 产生 N 个进程,每个进程不断分配和释放内存 |
| -d | 产生 N 个不断执行 write 和 unlink 函数的进程 |
| -t | 在 N 秒后结束程序 |
| -q | 程序在运行的过程中不输出信息 |
| -n | 输出程序会做什么而并不实际执行相关的操作 |
| -v | –verbose 显示详细的信息 |
示例
压满6个cpu,执行100秒(--timeout可以直接用--t)
stress --cpu 6 --timeout 100

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

磁盘及I/O测试
新增6个I/O进程,1个写进程,每次写1000M文件块,测试100秒
stress --io 6 -d 1 --hdd-bytes 1000M -t 100

浙公网安备 33010602011771号