Linux系统调优:提高磁盘吞吐量

在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,幸好LINUX 可以

动态调整请求队列数,默认的请求队列数存放在 /sys/block/hda/queue/nr_requests 文件中,

请看下面的例子:

# cat /sys/block/hda/queue/nr_requests
128

默认请求队列数为:128。现在我们来测试请求一个1G大小的文件(测试环境为虚拟机):

# time dd if=/dev/zero of=test bs=1M count=1000
 
1000+0 records in
 
1000+0 records out
 
1048576000 bytes (1.0 GB) copied, 60.2789 seconds, 17.4 MB/s
 
real    1m0.553s
 
user    0m0.043s
 
sys     0m6.363s

由此看出,共花了1分55秒,现在把 nr_requests 的 128 改成 512 再试下:

# echo 512 > /sys/block/hda/queue/nr_requests
 
# cat /sys/block/hda/queue/nr_requests
 
512
 
# rm -f test
 
# time dd if=/dev/zero of=test bs=1M count=1000
 
1000+0 records in
 
1000+0 records out
 
1048576000 bytes (1.0 GB) copied, 28.298 seconds, 37.1 MB/s
 
real    0m28.787s
 
user    0m0.040s
 
sys     0m5.982s

同样大小的文件,改成 512 后只需要 28  秒钟,由此可以结论出,通过适当的调整

nr_requests 参数可以大幅提升磁盘的吞吐量,缺点就是你要牺牲一定的内存,所

以在调优的时候要对多方面对权衡考虑。

猜你喜欢

转载自cjjwzs.iteye.com/blog/1222359