我是靠谱客的博主 阔达蚂蚁,最近开发中收集的这篇文章主要介绍fio模拟mysql写入速度_Fio模拟Mysql服务器IO压力脚本,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

原创文章,转载请注明: 转载自Erlang非业余研究

本文链接地址: Fio模拟Mysql服务器IO压力脚本

fio是个非常好用的io压力模拟工具,功能非常齐全, 有兴趣的同学参看 这里。

这里我用fio模拟我们线上mysql服务器的压力来为厂家送来的pci-ssd卡做压力测试,底下是脚本(已经测试正确),也许有的同学有用。

$ cat mysql-test

# QPS: 40000(10 cores)

# Dataset: 200G

# R/W: 8/2

# ThreadPool Num: 64

# IO ThreadNum: 32

[global]

runtime=86400

time_based

group_reporting

directory=/u03

ioscheduler=deadline

thread

refill_buffers

[mysql-binlog]

filename=test-mysql-bin.log

bsrange=512-1024

ioengine=sync

rw=write

size=24G

sync=1

rw=write

overwrite=1

fsync=100

rate=64K

invalidate=1

numjobs=64

[innodb-data]

filename=test-innodb.dat

bs=16K

ioengine=psync

rw=randrw

size=200G

direct=1

rwmixread=80

numjobs=32

rate=3M

thinktime=600

thinktime_spin=200

thinktime_blocks=2

[innodb-trxlog]

filename=test-innodb.log

bsrange=512-2048

ioengine=sync

rw=write

size=2G

fsync=1

overwrite=1

rate=256K

invalidate=1

numjobs=64

$ sudo fio mysql-test

mysql-binlog: (g=0): rw=write, bs=512-1K/512-1K, ioengine=sync, iodepth=1

...

mysql-binlog: (g=0): rw=write, bs=512-1K/512-1K, ioengine=sync, iodepth=1

innodb-data: (g=0): rw=randrw, bs=16K-16K/16K-16K, ioengine=psync, iodepth=1

...

innodb-data: (g=0): rw=randrw, bs=16K-16K/16K-16K, ioengine=psync, iodepth=1

innodb-trxlog: (g=0): rw=write, bs=512-2K/512-2K, ioengine=sync, iodepth=1

...

innodb-trxlog: (g=0): rw=write, bs=512-2K/512-2K, ioengine=sync, iodepth=1

fio 1.50.2

Starting 160 threads

...

要注意的事项是:

1. 对iops的限制是针对每个线程的,总的限制是 限制*线程数

2. 在thinktime_blocks个io开始前先等待thinktime(其中thinktime_spin用于消耗cpu, 剩余时间用于sleep)

3. 每个io需要花费时间。这个时间随着设备的不同差别很大,最好的方法是测试。用一个线程测试,然后用strace查看。

玩得开心!

Post Footer automatically generated by wp-posturl plugin for wordpress.

最后

以上就是阔达蚂蚁为你收集整理的fio模拟mysql写入速度_Fio模拟Mysql服务器IO压力脚本的全部内容,希望文章能够帮你解决fio模拟mysql写入速度_Fio模拟Mysql服务器IO压力脚本所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部