Linux の先読みの欠点

Linux の先読みの欠点

先読みキャッシュのサイズを増やすと何かデメリットはありますか?

私たちのファームでは現在 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

2.6で実行しています。

答え1

欠点は

  • 無駄なIO。コンピュータはドライブから必要のないものを読み込むのに時間を費やす可能性があります。
  • 無駄なメモリ。読み取る必要のないものは、他の用途に使用できたはずのメモリに保存されます。

おそらく、実際の使用状況をよりよく表すテストを用意する必要がありますhdparm -t。hdparm -t はシーケンシャル アクセスを実行しますが、その場合、大きな先読みが非常に役立ちます。ランダム アクセスが多数ある場合、利点はほとんど役に立たず、おそらく有害です。

私の知る限り、データに危険はなく、特定の作業負荷に応じてパフォーマンスが悪化する可能性があるだけです。これはおそらく、微調整してテストする必要があるタイプの 1 つです。ただし、1 つのステップでこれほど大きな変更 (256 から 10240 へ) を行うことはないと思います。

関連情報