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

来源:互联网 发布:大炼钢铁知乎 编辑:程序博客网 时间:2024/05/14 06:01
在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,幸好LINUX 可以

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

请看下面的例子:

# cat /sys/block/hda/queue/nr_requests128

默认请求队列数为: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 参数可以大幅提升磁盘的吞吐量,缺点就是你要牺牲一定的内存,所

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

转载 http://www.nb03.com/?post=406

原创粉丝点击