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

kevin.Zhu 发布于:2013-1-16 11:32 分类:Linux  有 16 人浏览,获得评论 0 条  

在linux系统中,如果有大量读的请求,默认情况下linux系统的请求队列有可能会应付不过来,不要激动,我们可以修改linux的动态调整请求队列数........(你懂的)
默认的的请求队列数放在/sys/block/hdc/queue/nr_requests 这个文件里面.

$cat /sys/block/hdc/queue/nr_requests

128

咱们看默认情况下请求队列是128.

现在我们来用time dd 来测试硬盘的读写速度!!

$time dd if=/dev/zero of=tongrui.txt bs=1M count=1000

1000 0 records in
1000 0 records out
1048576000 bytes (1.0 GB) copied, 65.9483 seconds, 15.9 MB/s

real 1m6.399s
user 0m0.002s
sys 0m6.624s

如上我用1G的文件去测试请求,花了1分6秒.

现在我们把/sys/block/hdc/queue/nr_requests中的值128改成512,然后继续测试一遍

$time dd if=/dev/zero of=tongrui.txt bs=1M count=1000

1000 0 records in
1000 0 records out
1048576000 bytes (1.0 GB) copied, 13.3316 seconds, 78.7 MB/s

real 0m13.544s
user 0m0.004s
sys 0m2.131s

咱们来看看,只用了13秒.一样大的文件,改完请求队列数之后时间大大的减少了,由此咱们可以得出一个结论,适当的时候调整nr_requests 文件中的参数可以大幅提升磁盘的吞吐量,但是也是有缺点的!缺点就是要牺牲一定的内存,在调优的时候要对多方面对权衡考虑.