Linux 预读的缺点

JPe*_*ter 5 linux performance io

增加预读缓存的大小有什么缺点吗?

在我们的农场中,我们目前的运行速度为 256,在将其提高后,我们看到吞吐量显着提高。

 

[root@server~]# hdparm -tT /dev/sda /dev/sda: 
Timing cached reads: 7352 MB in 2.00 seconds = 3677.62 MB/sec 3
Timing buffered disk reads: 244 MB in 3.10 seconds = 78.68 MB/sec 

[root@server ~]# blockdev --setra 10240 /dev/sda 

[root@server ~]# hdparm -tT /dev/sda /dev/sda: 
Timing cached reads: 11452 MB in 2.00 seconds = 5728.52 MB/sec 
Timing buffered disk reads: 422 MB in 3.17 seconds = 133.04 MB/sec
Run Code Online (Sandbox Code Playgroud)

我们在 2.6 上运行。

Zor*_*che 7

缺点是

  • 浪费IO。您的计算机可能会花时间从它不需要的驱动器中读取内容
  • 浪费了内存。它读取的不需要读取的内容存储在本可以用于其他用途的内存中。

您可能需要提出一个更能代表您的实际使用情况的测试hdparm -t。hdparm -t 执行顺序访问,在这种情况下,大量预读将非常有帮助。当您有大量随机访问时,收益可能不会那么有用,而且可能有害。

据我所知,您的数据没有危险,只是根据您的特定工作负载,您的性能可能会变差。这可能是您必须调整和测试的事情类型之一。不过,我认为我不会在一步中做出如此大的改变(从 256-10240)。