分区在RAID1中使用软件RAID。
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因此,对于300 K块,使用一个线程的随机读取为58操作/秒,约为17 58/S。
但是,当我尝试每个线程读取300 K块时,出人意料的是,它运行得更快,尽管我希望有更多的随机访问:
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个线程读取随机300 K块的速度比1个线程读取随机300 K块快吗?
发布于 2014-04-13 19:59:41
什么是令人惊讶的?
1线程意味着命令、等待、读取、循环。在延迟中有一个等待元素。
多个线程消除了这种情况,并且-由于多个命令的排队,使得磁盘能够得到更多的优化。使用3个线程获得更多的IOPS一点也不奇怪。
发布于 2014-11-11 07:22:13
这是一个raid1,所以写到这两个磁盘,但是读取可以满足一个,所以如果有更多的线程,我会期望更好的性能。但是,如果线程等于raid 1(或raid 10的raid 1部分)中的磁盘数量,则可能是最好的。
https://serverfault.com/questions/588714
复制相似问题