ITPub博客

首页 > 数据库 > 数据库开发技术 > 对Linux进行压力测试

对Linux进行压力测试

原创 数据库开发技术 作者:逍遥子 时间:2023-08-02 08:00:00 0 删除 编辑

本文,我们简单的介绍两款在Linux中于对系统的CPU、IO、内存、负载、磁盘等进行压力测试的工具。

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

更多精彩文章 欢迎关注我们

原文作者:Kali笔记;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-01-22

  • 博文量
    760
  • 访问量
    444528