web-dev-qa-db-ja.com

最新のLinuxでnoatimeを使用することは意味がありますか?

Linuxのバージョン2.6.30(5年前にリリースされた)以降、デフォルトでrelatimeが有効になっています。これは、ファイルアクセス時間の更新が非常にまれであり、慎重であることを意味します。

しかし、データベースまたはSSDディスクにnoatimeを使用するために recomendations が引き続き表示されます。デフォルトの構成を変更して使用する理由はありますか? relatimeと比較して、測定可能な違いはありますか?

14
valodzka

この質問に対する答えは1つではありません。それはすべて、ファイルシステムを使用しているアプリケーション、実行されている読み取り/書き込みアクティビティの組み合わせ、およびハードウェア自体を含む多くの要因に依存します。

relatimeは、電子メールシステムなどの一部の(古い)アプリケーションがatime値を使用して、ファイル/メッセージが配信後に読み取られたかどうかを確認するための妥協案として存在します。したがって、これはファイルシステムのデフォルトの安全なオプションです。

noatimeを使用してファイルシステムをマウントすることを検討する前に、ファイルシステムの使用状況を監査して、アプリケーションが正しい操作を行うために時間に依存していないことを確認する必要があります。

ファイルシステムのユーザーが時間に依存していないと仮定すると、デフォルトを変更する価値があるかどうかは、実際にファイルシステムへの読み取りと書き込みの量に依存します。ほとんどの場合、読み取りで使用してもそれほど大きな違いはありませんが、同じファイルへの読み取り/書き込みが大量にある場合(つまり、典型的なデータベースのワークロード)、ほとんどの読み取りにもatimeの書き込みが含まれていることがわかります。パフォーマンスに影響します。

ファイルシステムがデータベースの作業にのみ使用される場合は、noatimeを使用しても安全であり、ファイルシステムへの書き込みが減少します。

結局のところ、noatimeは十分に検討せずに使用しないでください。どの程度の違いが生じるかは、特定のワークロードでのベンチマークによってのみ決定できます。

8
Richm