-
Notifications
You must be signed in to change notification settings - Fork 55
第42章 FIO存储性能压测
xiaoboluo768 edited this page Jun 18, 2020
·
3 revisions
- 1.yum安装
[root@localhost~]# yum install fio.x86_64
- 2.源码安装
[root@localhost~]# wget https://github.com/axboe/fio/archive/fio-3.3.tar.gz
[root@localhost~]# yum install libaio-devel
[root@localhost~]# tar zxf fio-3.3.tar.gz
[root@localhost~]# cd fio-fio-3.3
[root@localhost~]# ./configure
[root@localhost~]# make
[root@localhost~]# make install
[root@localhost~]# fio -rw=randwrite -bs=4k -runtime=60 -iodepth 1 -numjobs=4 -size=10G\ -filename /data2/test1 -ioengine libaio -direct=1 -group_reporting -name iops_randwrite
[root@localhost~]# fio -rw=write -bs=1m -runtime=60 -iodepth 1 -numjobs=4 -size=10G\ -filename /data2/test1 -ioengine libaio -direct=1 -group_reporting -name bw_write
[root@localhost~]# fio -readonly -rw=randread -bs=4k -runtime=60 -iodepth 1 -numjobs=8\ -size=10G -filename /data2/test1 -ioengine libaio -direct=1 -group_reporting –name\ iops_randread
[root@localhost~]# fio -readonly -rw=read -bs=1m -runtime=60 -iodepth 1 -numjobs=8\ -size=10G -filename /data2/test1 -ioengine libaio -direct=1 -group_reporting -name bw_read
[root@localhost~]# fio -rw=randrw -rwmixread=70 -bs=16k -runtime=60 -iodepth 1\ -numjobs=8 -size=10G -filename /data2/test1 -ioengine libaio -direct=1 -group_reporting\ -name iops_randrw
[root@localhost~]# fio /usr/share/doc/fio-2.2.8/examples/ssd-test.fio
- 1.SSD性能测试配置文件
[root@localhost~]# cat examples/ssd-test.fio
......
[global]
bs=4k
ioengine=libaio
iodepth=4
size=10g
direct=1
runtime=60
directory=/mount-point-of-ssd
filename=ssd.test.file
[seq-read]
rw=read
stonewall
[rand-read]
rw=randread
stonewall
[seq-write]
rw=write
stonewall
[rand-write]
rw=randwrite
stonewall
- 2.MySQL数据库FIO测试
[global]
runtime=86400
time_based
group_reporting
directory=/your_dir
ioscheduler=deadline
refill_buffers # 保证每次生成的测试文件内容有充分的随机性
[mysql-binlog]
filename=test-mysql-bin.log
bsrange=512-1024 # I/O请求的块大小为512字节的整数倍,最大为1024字节
ioengine=sync
rw=write
size=24G
sync=1
rw=write
overwrite=1
fsync=100
rate_iops=64 # 定义IOPS的最大值为64。由于bsrange为512~1024字节,对应的IOPS最大值为64个512字节的 I/O(或者32个1024字节的 I/O)
invalidate=1 # 使buffer-cache(缓冲区)在开始I/O之前就失效
numjobs=64
[innodb-data]
filename=test-innodb.dat
bs=16K
ioengine=psync
rw=randrw
size=200G
direct=1
rwmixread=80 # 读写比例设置为8∶2
numjobs=32
thinktime=600 # 从完成一个I/O到下一个I/O间隔600ms
# 在全速I/O压力下可以设置该参数为0
thinktime_spin=200 # 在thinktime中200ms在消耗 CPU,剩下的400ms在睡眠
thinktime_blocks=2 # 允许一次I/O最多有两个块等待一次thinktime
[innodb-trxlog]
filename=test-innodb.log
bsrange=512-2048
ioengine=sync
rw=write
size=2G
fsync=1
overwrite=1
rate_iops=64
invalidate=1
numjobs=64
[root@localhost~]# fio -readonly -rw=randread -bs=4k -runtime=60 -iodepth 1 –filename\ /data/voting.7g -ioengine libaio -direct=1 -name iops_randread
......
上一篇:第41章 系统负载常用查看命令详解 | 下一篇:第43章 HammerDB在线事务处理测试
-
本 WIKI 包含了《千金良方--MySQL 性能优化金字塔法则》一书的代码段加粗命令行命令和SQL语句文本、以及4个附录内容,其中:
- 代码段和高清图单独整理为一个系列文档,如下:
- 每个附录都各自整理成了一个小系列文档,如下:
-
《千金良方--MySQL 性能优化金字塔法则》 一书的作者信息如下:
- 李春、罗小波、董红禹
-
联系人QQ:309969177
-
提示:
-
郑重声明:本WIKI仓库中的资料为电子工业出版社与本书的三位作者共同授权开源,为了在方便大家的同时,避免不必要的纠葛,任何商业与非商业的引用、转载,麻烦大家注明出处,谢谢配合!