web-dev-qa-db-ja.com

GlusterFSダイレクトI / Oモード

GlusterFSの「direct-io-mode」について理解していただけると助かります。

ダイレクトI/Oモードを無効にすると、より良い読み取り結果が得られます-無効モードでは、キャッシュからの書き込み/読み取りです-それはシステムキャッシュですか、それともGlusterFSキャッシュですか?推奨される方法は何ですか?私は4つのノードを使用して、分散複製ボリュームでWebサービスを提供しています。

Write: dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
echo 3 > /proc/sys/vm/drop_caches
Read: dd if=tempfile of=/dev/null bs=1M count=1024
Read-Read: dd if=tempfile of=/dev/null bs=1M count=1024

Write           Read            Re-Read
67.5 MB/s       94.9 MB/s       94.6 MB/s   direct-io-mode=enabled
65.8 MB/s       230 MB/s        226 MB/s    direct-io-mode=disabled
4
HTF

長い検索の後、私は見つけました this 記事。 glusterfs固有ではありませんが、理解を深めるのに役立つ場合があります。つまり、ダイレクトI/Oモードでは、そのマウントポイントのOSによって実装されたファイルバッファーが無効になります。

それを読んだ後、私はこの結論に達しました:

有効または無効にすると、glusterfsボリュームを使用しているアプリケーションに応じて、転送速度が向上する可能性があります。キャッシュを単独で処理するアプリケーションまたはデータベースを使用している場合は、(2番目のバッファーのオーバーヘッドがないため)ブーストが有効になります。 )。ファイルアクセスを実行しているだけの場合は、おそらく無効にすると、ローカルファイルキャッシュによるネットワークアクセスが少なくなるため、パフォーマンスが向上します。

5
Valerio Minetti