【Mysql】硬盘性能压测(Sysbench工具)

1、IOPS和吞吐量介绍

  • IOPS(每秒输入/输出操作数):是衡量存储设备每秒能够执行的输入/输出操作的数量。对于数据库等需要频繁读写的应用程序而言,IOPS 是一个关键的性能指标。更高的 IOPS 意味着存储设备能够处理更多的读写请求,因此能够更快地响应应用程序的需求。

  • 吞吐量:指存储系统在一定时间内能够传输的数据量。它通常以每秒传输的数据量(比特/字节)来衡量。吞吐量取决于存储系统的带宽和响应时间。较高的吞吐量表示存储系统能够以更快的速度传输数据。

       在数据库系统中,IOPS 和吞吐量都是非常关键的性能指标。数据库的读写操作会对存储系统的 IOPS 和吞吐量产生影响,因此优化存储性能对于提升数据库性能至关重要。

2、Sysbench工具简介

        Sysbench 是一个可编写脚本的多线程基准测试工具,基于 LuaJIT的。它最常用于数据库基准测试,但也用于创建不涉及数据库服务器。它可以测试 CPU、内存、文件系统和数据库等方面的性能,并提供了多种测试模式和参数配置选项。

sysbench 的一些常见用途包括:

  1. 数据库性能测试:sysbench 可以模拟多个用户同时访问数据库,并测量数据库处理能力、响应时间等指标。

  2. CPU 和内存性能测试:sysbench 可以执行计算密集型任务和内存操作,并评估系统的计算和内存性能。

  3. 文件系统性能测试:sysbench 可以模拟文件读写操作,测试文件系统的性能和吞吐量。

  4. 线程调度性能测试:sysbench 可以模拟多线程并发执行,评估系统的线程调度性能。

3、Sysbench安装

下载地址:

Release Release 1.0.20 · akopytov/sysbench · GitHub

[root@dt1 sysbench]# tar -xzvf sysbench-1.0.20.tar.gz
[root@dt1 sysbench]# cd sysbench-1.0.20
[root@dt1 sysbench-1.0.20]# yum install m4 autoconf automake libtool mysql-devel -y
[root@dt1 sysbench-1.0.20]# ./autogen.sh
[root@dt1 sysbench-1.0.20]# ./configure
[root@dt1 sysbench-1.0.20]# make && make install
[root@dt1 sysbench-1.0.20]# sysbench --version

4、磁盘压测

#创建一个测试目录
[root@dt1 sysbench-1.0.20]# mkdir ../test
[root@dt1 sysbench-1.0.20]# cd ../test/

#创建4个文件,总共大小4G,一个块大小为16k
[root@dt1 test]# sysbench --test=fileio --file-num=4 --file-block-size=16384 --file-total-size=4g prepare
#用于运行文件 I/O 的基准测试
[root@dt1 test]# sysbench --test=fileio --file-num=4 --file-block-size=16384 --file-total-size=4G --file-test-mode=rndrw --file-extra-flags=direct --max-time=10 --max-requests=0 --file-fsync-freq=1 --num-threads=128 --report-interval=1 run

#清理创建的文件
[root@dt1 test]# sysbench --test=fileio --file-num=4 --file-block-size=16384 --file-total-size=4g cleanup

命令参数解释

1、sysbench --test=fileio --file-num=4 --file-block-size=16384 --file-total-size=4g prepare

  • --test=fileio:指定进行文件 I/O 方面的基准测试。
  • --file-num=4:设置要使用的文件数量为 4 个。
  • --file-block-size=16384:设置每个文件的块大小为 16KB。
  • --file-total-size=4g:设置所有文件的总大小为 4GB。
  • prepare:执行准备阶段,创建并初始化测试所需的文件

2、sysbench --test=fileio --file-num=4 --file-block-size=16384 --file-total-size=4G --file-test-mode=rndrw --file-extra-flags=direct --max-time=10 --max-requests=0 --file-fsync-freq=1 --num-threads=128 --report-interval=1 run

  • --test=fileio:指定进行文件 I/O 方面的基准测试。
  • --file-num=4:设置要使用的文件数量为 4 个。
  • --file-block-size=16384:设置每个文件的块大小为 16KB。
  • --file-total-size=4G:设置所有文件的总大小为 4GB。
  • --file-test-mode=rndrw:设置文件操作的模式为随机读写(random read-write)。
  • --file-extra-flags=direct:使用直接 I/O 操作而不是缓存。
  • --max-time=10:设置最长运行时间为 10 秒。
  • --max-requests=0:设置每个线程执行的请求数目,0 表示无限制。
  • --file-fsync-freq=1:设置 fsync 操作的频率为每次操作都执行。
  • --num-threads=128:设置线程数为 128。
  • --report-interval=1:设置报告输出的时间间隔为 1 秒

 --file-test-mode 指定 sysbench 运行的工作负载类型,类型如下:

        seqwr:顺序写入
        seqrewr:顺序重写
        seqrd:顺序读取
        rndrd:随机读取
        rndwr:随机写入
        rndrw:随机读取/写入

MySQL 是一种数据库管理系统,它通常涉及随机读写而不是顺序读写,所以采用随机的类型

 结果如下:

跟其他机器对比

 

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值