首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fio对ioping的延迟

fio对ioping的延迟
EN

Server Fault用户
提问于 2020-10-16 21:17:26
回答 1查看 498关注 0票数 0

有两个测试:

代码语言:javascript
复制
ioping -c 10 -S 4K -D .

9 requests completed in 2.49 ms, 36 KiB read, 3.61 k iops, 14.1 MiB/s
generated 10 requests in 9.00 s, 40 KiB, 1 iops, 4.44 KiB/s
min/avg/max/mdev = 259.5 us / 277.0 us / 325.0 us / 19.9 us
代码语言:javascript
复制
sudo fio --ioengine=libaio --direct=1 --rw=read --bs=4K --numjobs=1 --iodepth=1 --runtime=10 --time_based --name seq_read --filename=/fiotest --size=100m

 read: IOPS=19.8k, BW=77.5MiB/s (81.2MB/s)(775MiB/10001msec)
clat (nsec): min=830, max=11311k, avg=44909.47, stdev=76899.23

两者使用相同的块大小,但延迟和iops的结果完全不同。为什么会这样呢?

EN

回答 1

Server Fault用户

发布于 2020-10-24 08:03:57

两者使用相同的块大小,但延迟和iops的结果完全不同。为什么会这样呢?

你可能比较不同的事情:不同的管理费用,不同的提交I/O的方式等等。

例如:

  • fio是按顺序提交I/O,请求块1,然后请求块2等等。ioping是这样做的,还是一次又一次地读取相同的偏移量?
  • fio是异步提交I/O,但我不知道ioping是否是
  • 他们没有在同一个文件上工作(我们无法从您发布的内容中判断他们是否在使用相同的文件系统!)
  • fio一旦得知上一个I/O已经完成,就会提交下一个I/O。因为您省略了完整的fio输出,所以我们无法知道它提交了多少个I/O,但是我猜它在10秒内还不到200000个I/O。ioping说它在10秒内产生了10个请求。
  • 也许掺杂的粒度比fio的粒度更差?也许它有更大的间接费用?

试图在不同的工具之间进行比较通常是行不通的,除非您知道每个工具确实在做相同的事情。试着坚持将同一工具的结果与其自身进行比较。fio并不是专为执行“doing”而设计的,但它在Linux上提交I/O时可能会有一定的效率。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1039034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档