web-dev-qa-db-ja.com

Linux:遅いHDDのパフォーマンスを改善するためのマウントオプション?

2台のHDDでパフォーマンスの問題が発生しました。 1つは高速ですがNFSを介してリモートでマウントされ、もう1つはローカル(ext4)ですが低速です。

いいえ、2つのドライブを交換することはできません。これは、他のシステムへのインストールが問題になるためです。

パフォーマンスの低下のほとんどは、キャッシュされたデータ(ローカルとリモートの両方)の書き込み中に発生しているという主観的な印象があります。
他の経験的証拠は、syncは、多くの書き込みを行った後でも、常に1秒未満かかるということです。 繰り返しますが、私にとっては、書き込みキャッシュが小さすぎるか、使用量が少なすぎるか、または同様のことを意味します。

質問は:いくつかのマウントオプションでパフォーマンスを改善できますか?

マウントのマニュアルページで、パフォーマンスに関係する可能性のあるいくつかのオプションを見つけました:max_batch_timedelalloc。しかし、私はデフォルトが何であるか、彼らが何をするかを推測することはできません...

追加の質問:ext4パーティションをさまざまなオプションで再フォーマットすることでパフォーマンスを向上させる可能性はありますか?

2

ドライブで何をする必要がありますか? パフォーマンスはしばしば異なります ファイルシステムの種類と実行されているタスクによって異なります。

パーティションにnoatimeを設定するか、reiserfsに変更すると、パフォーマンスが少し向上する可能性がありますが、自分で NFSの問題 を作成する可能性があります。ローカルのext4ディスクがNFSマウントよりも遅い場合は、別のことが起こっていると思います。ディスクが書き込みタスクに移動するのを妨げている、システムで他に何が起こっているかを確認する必要があると思います。このすべての執筆を行っているものを見ることを検討してください。何かが/ tmpをドキドキしているとしましょう。/tmpを独自のパーティションに移動すると、残りのローカルパーティションに役立ちます。

ドライブを デフラグ する必要があるかもしれません。 LinuxファイルシステムはNTFSほど劇的に断片化することはありませんが、時間の経過とともに断片化します。 ext4のデフラグはそれほど単純ではないため(カーネルモードが必要)、新しいファイルシステムタイプを試してみようと思ったので、再フォーマットするだけかもしれません。

試す設定をマウントします。

  1. noatime&nodiratime
    • ACLなし
    • data = writebacknobh
    • delalloc --whichshouldはすでにデフォルトになっています-設定する必要はありません。
    • commit = N デフォルトは5秒で、安全性に優れ、パフォーマンスに「悪い」です。高い値に設定すると、マシンがクラッシュした場合に「N」秒の作業が失われる可能性があります。ジャーナリングは引き続き保持されるため、ディスクは影響を受けません。
    • inode_readahead = n
    • max_batch_time = N
5
DaveParillo

noatimeを使用して、全体的な書き込みアクセス時間を短縮します。

1
geek