ext4 ファイルシステムで I/O バリア (I/O barrier) を無効にする

ext4 ファイルシステムの速度について時に不満はないのだけどカンタンにチューンできるのならやってみようと調べてみたら、 I/O バリア機能を無効にすれば良いとの情報がある。

例えば以下のような。

DB2 Express-C 10.1 for Linux クイックインストール

 

I/O バリアは fsync() システムコール実行時にファイルシステムへのデータ書き込み順序を保証する機能で、特にストレージ装置に独自のキャッシュ領域がある場合に重要です。
~略~
I/O バリアを有効しても多くのアプリケーションには大きな影響が出ませんが、fsync() を多用するアプリケーションや、ファイル書き込みを平行して大量に行うアプリケーションではパフォーマンスへの影響が大きくなります。

 

また Redhat のサイトにも I/O バリアを使うべきシチュエーションについて書いてある。

21.2. 書き込みバリアを有効または無効にする - Red Hat Customer Portal

停電時やクラッシュ時に、ライトキャッシュからディスクにフラッシュされてないデータがロストするリスクを軽減するため、キャッシュをフラッシュさせる(代わりにライトキャッシュのおいしいところを殺してしまう)という機能。これが標準で有効になっているので、ライトキャッシュがバッテリなどによって保護されているのなら書き込みバリアを無効化しても良いよね、という話。