linux – iozone:5个并发线程随机读取300K块比仅使用一个线程更多opss,可能是什么原因?

linux – iozone:5个并发线程随机读取300K块比仅使用一个线程更多opss,可能是什么原因?,第1张

概述该分区使用软件RAID在RAID1中. Command line used: iozone -s 190g -r 300k -O -b test_file OPS Mode. Output is in operations per second. random rand 该分区使用软件RAID在RAID1中.
Command line used: iozone -s 190g -r 300k -O -b test_file    OPS Mode. Output is in operations per second.                                                            random  random    bkwd   record   strIDe                                             KB  reclen   write rewrite    read    reread    read   write    read  rewrite     read   fwrite frewrite   fread  freread   199229440     300     240     234      254      253      58     127     100     6539       91      234      234     254      254

所以对于300K块,使用一个线程的随机读取是58 ops /秒,大约17MB / s.

但是,当我尝试5个线程,每个读取300K块时,我意外地工作得更快,虽然我期望更多的随机访问:

OPS Mode. Output is in operations per second.    Command line used: iozone -s 80g -r 300k -O -l5 -u 5 -F test_file1 test_file2 test_file3 test_file4 test_file5    Children see throughput for 5 random readers    =      69.27 ops/sec    Parent sees throughput for 5 random readers     =      69.27 ops/sec    Min throughput per process                      =      13.81 ops/sec     Max throughput per process                      =      13.89 ops/sec    Avg throughput per process                      =      13.85 ops/sec

有谁知道linux *** 作系统或硬盘驱动器中的读取/缓存策略使得5个线程读取随机300K块比1个线程读取随机300K块更快?

解决方法 有什么令人惊讶的?

1个线程表示命令,等待,读取,循环.有一个等待元素 – 延迟.

多线程消除了这一点,并且 – 由于多个命令的排队,允许更加优化光盘.你用3个线程获得更多的IOPS并不奇怪.

总结

以上是内存溢出为你收集整理的linux – iozone:5个并发线程随机读取300K块比仅使用一个线程更多ops / s,可能是什么原因?全部内容,希望文章能够帮你解决linux – iozone:5个并发线程随机读取300K块比仅使用一个线程更多ops / s,可能是什么原因?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1039478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存