NFSでのFPolicyのfirst-readおよびfirst-writeフィルタの動作
外部FPolicyサーバを使用してFPolicyが有効になっていて、読み取り/書き込み操作が監視対象イベントとして設定されている場合、読み取り/書き込み要求のトラフィックが多いときにNFSクライアントの応答時間が長くなります。NFSクライアントの場合、FPolicyでfirst-readフィルタとfirst-writeフィルタを使用すると、FPolicy通知の数が減り、パフォーマンスが向上します。
NFSでは、クライアントはファイルのハンドルを取得してI/Oを実行します。このハンドルは、サーバおよびクライアントのリブート後も有効なままになることがあります。したがって、クライアントはハンドルを自由にキャッシュし、ハンドルを再度取得することなく、ハンドルに対する要求を送信できます。通常のセッションでは、大量の読み取り / 書き込み要求がファイルサーバに送信されます。これらすべての要求に対して通知が生成されると、次の問題が発生する可能性があります。
-
追加の通知処理が原因で負荷が大きくなり、応答時間が長くなります。
-
サーバがすべての通知の影響を受けていないにもかかわらず、多数の通知がFPolicyサーバに送信される。
特定のファイルに対するクライアントからの最初の読み取り/書き込み要求を受信すると、キャッシュエントリが作成され、読み取り/書き込み数が増分されます。この要求は初回読み取り/書き込み処理とマークされ、FPolicyイベントが生成されます。NFSクライアント用のFPolicyフィルタを計画して作成する前に、FPolicyフィルタの基本的な仕組みを理解しておく必要があります。
-
first-read:初回読み取りのクライアント読み取り要求をフィルタリングします。
このフィルタをNFSイベントに使用すると、および `-file-session-io-grouping-duration`の設定によって、 `-file-session-io-grouping-count`FPolicyが処理される初回読み取り要求が決定されます。
-
first-write:first-writeのクライアント書き込み要求をフィルタリングします。
このフィルタをNFSイベントに使用すると、 `-file-session-io-grouping-count`および `-file-session-io-grouping-duration`の設定によって、FPolicyが処理された初回書き込み要求が決定されます。
次のオプションがNFSサーバデータベースに追加されます。
file-session-io-grouping-count: Number of I/O Ops on a File to Be Clubbed and Considered as One Session for Event Generation file-session-io-grouping-duration: Duration for Which I/O Ops on a File to Be Clubbed and Considered as One Session for Event Generation