在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 文件中的参数可以大幅提升磁盘的吞吐量,但是也是有缺点的!缺点就是要牺牲一定的内存,所以在调优的时候要对多方面对权衡考虑。
本文通过测试和实践展示了如何调整Linux系统中请求队列数来提升磁盘的读写速度。通过修改/sys/block/hdc/queue/nr_requests文件中的参数,从128调整到512,测试结果表明,相同大小的文件读取时间从1分6秒减少到了13秒,实现了磁盘吞吐量的显著提升。然而,这种优化需要权衡内存消耗,因此在实际应用中应综合考虑系统负载和资源限制。
1263

被折叠的 条评论
为什么被折叠?



