磁盘性能基准测试

发布于 2022-04-05 13:02:55 字数 2231 浏览 1233 评论 0

dd

1. dd if=/dev/zero of=test bs=64k count=16k

这个很不准确的,因为命令结束的时候数据还没有真正写到磁盘上去

2. dd if=/dev/zero of=test bs=64k count=16k conv=fsync

这个还算准确,数据已经写入磁盘

3. dd if=/dev/zero of=test bs=64k count=4k oflag=dsync

这个可以当成是模拟数据库插入操作,所以很慢

fio

磁盘IO是云主机的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类。

fio 是测试磁盘性能的最佳工具:

1、测试顺序读性能

fio --filename=/home/test -iodepth=64 -ioengine=libaio --direct=1 --rw=read --bs=1m \
--size=2g --numjobs=4 --runtime=10 --group_reporting --name=test-read

2、测试顺序写性能

fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=write -bs=1m \
-size=2g -numjobs=4 -runtime=20 -group_reporting -name=test-write

3、测试随机读性能

fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randread -bs=4k \
-size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-read

4、测试随机写性能

fio -filename=/home/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randwrite -bs=4k \
-size=2G -numjobs=64 -runtime=20 -group_reporting -name=test-rand-write

参数说明: filename=/home/test 测试文件名称,通常选择需要测试的盘的 data 目录。 direct=1 测试过程绕过机器自带的buffer。使测试结果更真实。 rw=randwrite 测试随机写的 I/O rw=randrw 测试随机写和读的 I/O bs=4k 单次 io 的块文件大小为 4k size=2g 本次的测试文件大小为 2g,以每次4k的io进行测试。 numjobs=64 本次的测试线程为 64。runtime=20 测试时间为20秒,如果不写则一直将 2g 文件分4k每次写完为止。

报告如何查看: fio 的结果报告内容丰富,我们主要关心的是两项:

磁盘的吞吐量bw,这个是顺序读写考察的重点,磁盘的每秒读写次数 iops,这个是随机读写考察的重点

比如,下面是 4 个测试的结果部分截取:

test-read: (groupid=0, jobs=4): err= 0: pid=4752 read : \
io=839680KB, bw=76823KB/s, iops=75 , runt= 10930msec

顺序读,带宽 76823KB/s,iops 75

test-write: (groupid=0, jobs=4): err= 0: pid=4758 write: \
io=899072KB, bw=42854KB/s, iops=41 , runt= 20980msec

顺序写,带宽 42854KB/s, iops=41

test-rand-read: (groupid=0, jobs=64): err= 0: pid=4619 read : \
io=72556KB, bw=3457.4KB/s, iops=864 , runt= 20986msec

随机读,带宽 3457.4KB/s, iops=864

test-rand-write: (groupid=0, jobs=64): err= 0: pid=4685 write: \
io=129264KB, bw=6432.4KB/s, iops=1608 , runt= 20097msec

随机写,带宽 6432.4KB/s, iops=1608

参考文献

Improve disk I/O performance in KVM

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文