Linuxでディスクパフォーマンスを向上させる良い方法は何ですか?
hdparm
の設定には興味がありません。なぜなら、次のようなものだからです。
SATA
ドライブには適用されません。何百もの可能性があります。たとえば、 [〜#〜] md [〜#〜] を使用してRAIDアレイを作成できます。コンピュータにRAMを追加すると、ディスクキャッシュに多くのデータを含めることができるため、パフォーマンスが向上する可能性があります。パーティションがディスクの先頭に近いほど、パフォーマンスが向上します。
そして、さまざまなファイルシステムを忘れないでください! Ext4 および [〜#〜] xfs [〜#〜] たとえば、 割り当ての遅延 のためにブーストが得られる可能性があります。もう1つの一般的な手法は、 " relatime "マウントオプションを使用することです。多くの人々はまた、断片化はWindowsでのみ発生すると考えていますが、それは真実からはほど遠いものです。問題は、デフラグがXFSとext4でのみ可能であるということです。ただし、これらはワークロード固有の場合があります。
ただし、負荷を減らすと、一般的なパフォーマンスが向上します。これを行う最も簡単な方法は、/ tmpをtmpfsとしてマウントすることです。 (ヒントをありがとう、 theotherreceive !)もちろん、これには十分なRAMが必要ですが、ファイルがマップされたメモリ。
よく議論されているatime非常に一般的なファイルシステムであるext3の設定は、多くのディストリビューションでデフォルトで使用されています。使用すると、読み取り操作ごとに書き込み操作があるため、単純な読み取り操作が遅くなる可能性があります。
一般に、予想される使用パターンに従って、使用中のファイルシステムを選択することをお勧めします。低レベルの干渉を必要とせずに、パフォーマンスを合理的に向上させることができます。
'/'パーティションと '/ home'パーティションでnoatimeを使用していますが、パフォーマンスにかなりの違いがあることに気づきました。最も顕著な違いは、大規模なプロジェクトをコンパイルする場合です。 noatimeを追加する前は、大きなオブジェクトファイルをリンクするときに何もするのは難しいでしょうが、変更後は、システムはプロセス全体を通してはるかにスムーズに実行されます。
私はFedora7で実行していますが、これまでのところnoatimeで発生した唯一の問題はtmpwatchです。私のシステムでは、/ etc/cron.daily/tmpwatchのtmpwatch呼び出しに「-c」オプションを追加する必要がありました。
他のメール設定には潜在的な問題があるため、メールにMaildir/dovecotを使用していることにも注意してください。ローカルメールストレージを実行していて、これが問題になる可能性があると思われる場合は、Googleで調べてみてください(noatimeメールを検索するだけです)。
[〜#〜] md [〜#〜] を使用して、ディスクをストライピングのあるアレイタイプに配置します。
まともなhdparm
を使用すると、最初は1つのディスクに対してかなり最適なパフォーマンスが得られます。 I/O負荷に適した動作をするファイルシステムを選択してください。一部のファイルシステムではブロックサイズを調整することもできます。コントローラとドライブがNCQをサポートしていることを確認してください。これにより、重い負荷での速度が向上します。
それを超えて、Linux上のソフトウェアRAIDは、Windowsよりもはるかに優れています。
少し手間をかけるだけで、CPU負荷がかなり低いIntellistation Z pro 6221でPCIバス(533MB /秒)を最大化できました。これには、2つのQLA2342HBAとスプリットバックプレーンとダイレクトI/Oを備えたXyratexRS1600が使用されました。 LinuxのI/Oサブシステムは非常に高速です。