ページのリスト、ページナビゲーション構造、ページのコンテンツをディスク上のファイルに保存する PHP で構築された CMS があります。このアプリケーションは、haproxy サーバーの背後にある Apache/php-fpm サーバーのクラスターでホストされています。これらのサーバーは、中央のファイル サーバーから NFS 経由で Apache DocumentRoot ディレクトリをマウントするため、CMS から行われたすべての変更が NFS 共有上のファイルに書き込まれます。
このオプションを使用して NFS 共有をマウントしない限りnoac
、加えられた変更がクラスター内のすべてのサーバーに反映されるまでに最大 5 ~ 10 秒かかる場合があることがわかりました。つまり、複数の変更が立て続けに行われると、最終的な変更が以前の変更をまだ受け取っていないサーバーに送信される可能性があるため、最終的な変更によって以前の変更が上書きされることがあります。
ただし、noac
マウント オプションを使用すると、訪問者側のコンテンツへのアクセスに 2 ~ 5 秒の遅延が発生します。これはまったく受け入れられません。
NFS 共有上のファイルへの変更をプログラムで強制的にすべてのクライアントに反映させる方法、またはすべてのクライアントにそのファイルのキャッシュをフラッシュさせる方法はありますか?