Firebird Documentation Index → Firebird 2.5 リリースノート → 設定パラメータの追加と変更 → ファイルシステムのキャッシュの利用に影響するパラメータ |
Firebirdとファイルシステムのキャッシュとの相互作用の仕方を設定するパラメータは二つあります。
Firebird 2.5で新たに導入されたFileSystemCacheSizeは、64bit Windows XPやService Pack 1以降のMicrosoft Server 2003ホストでWindowsファイルシステム・キャッシュが使用するRAMの最大量を制御します。
バージョン2.5の当初のリリースでは、これによるPOSIXホスト・システムへの影響はありません。
このパラメータの設定値は、OSが利用可能なトータルの物理RAMのパーセンテージを表す整数となります。有効な値となるためには設定値が10〜95(%)の範囲に収まらなければなりませんが、明示的に0と設定することでホストのキャッシング設定を適用することもできます。これ以外の数値は、デフォルトの30(%)と見なされます。
firebird.conf
の設定をしても、サーバーのプロセスが再起動されるまで、変更は有効になりません。
OSのユーザーは、ファイルシステムのキャッシュ設定の調整にSeIncreaseQuotaPrivilegeが必要となります。この権利は管理者権限を持つユーザーとサービスアカウントに組み込まれており、Firebirdサービスアカウントにも、Windowsインストーラーによって明示的に付与されます。
異なる状況、例えば、エンベデッド版や、Firebirdサーバーをアプリケーションとして稼働する場合、またはカスタムサービスによるインストールの場合、ユーザーはこの権限を持っていないことがあります。このような設定ミスがあっても結果的にプロセスのスタートアップが失敗することはありません:firebird.log
に警告が書き込まれ、スタートアップは単純にホストOSの設定により進行します。
このパラメータはバージョン2.1でMaxFileSystemCacheとして導入されていますが、名称が変更されましたので、アップグレードする方への注意喚起のため、ここで改めて説明します。
FileSystemCacheThresholdは、Firebirdがページキャッシュとファイルシステム・キャッシュとの重複を許可するか否かを決める敷居値を設定します。このパラメータがゼロより大きい任意の(整数の)値に設定されている場合の効果は、ページキャッシュの現在のデフォルトサイズによって異なります:デフォルトのページキャッシュ(ページ単位)がMaxFileSystemCacheの値(ページ単位)よりも小さい場合にはファイルシステムのキャッシングは有効、それ以外の場合は無効となります。
このことは、ページキャッシュのバッファサイズが、DefaultDBCachePagesによって暗黙に設定されている場合にも、データベースのヘッダ属性として明示的に設定されている場合にも、いずれの場合にも適用されます。また、これは全てのプラットフォームに適用されます。
従って、
ファイルシステムのキャッシングを常に無効にするには、FileSystemCacheThresholdの値にゼロを設定します。
ファイルシステムのキャッシングを常に有効にするには、FileSystemCacheThresholdの値に、データベースのページキャッシュのサイズを超える充分大きな整数値を設定します。ただし、この値による効果がページキャッシュのサイズに対するその後の変更によって影響を受けることに留意して下さい。
FileSystemCacheThresholdのデフォルトの設定値は65536ページです。つまり、ファイルシステムのキャッシングは有効となっています。
特定のデータベースに対して設定されたキャッシュサイズがFileSystemCacheThresholdの値より大きい場合、FileSystemCacheSizeの設定値(上記)はそのデータベースに影響を与えません。
Firebird Documentation Index → Firebird 2.5 リリースノート → 設定パラメータの追加と変更 → ファイルシステムのキャッシュの利用に影響するパラメータ |