Linux系统调优:提高磁盘吞吐量
- - 开心平淡对待每一天。热爱生活 在LINUX系统中,如果有大量读请求,默认的请求队列或许应付不过来,幸好LINUX 可以 动态调整请求队列数,默认的请求队列数存放在 /sys/block/hda/queue/nr_requests 文件中,. 现在我们来测试请求一个1G大小的文件(测试环境为虚拟机):. 由此看出,共花了1分55秒,现在把 nr_requests 的 128 改成 512 再试下:.
动态调整请求队列数,默认的请求队列数存放在 /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 参数可以大幅提升磁盘的吞吐量,缺点就是你要牺牲一定的内存,所
以在调优的时候要对多方面对权衡考虑。