5

パフォーマンス テストを実行するために、firebird クエリ キャッシュをクリアするにはどうすればよいですか?

ここのSqlServerの例

Tks

4

3 に答える 3

3

Andrei は正しいです -- Firebird は OS ファイル システムのキャッシュに大きく依存しています。Firebird は少量のページを内部的にキャッシュしますが (データベースの buffers プロパティを確認してください)、通常は非常に少量のデータです。クラシックのデフォルトは 75 ページのようなものですか? 他の場所で約 1000 ページの提案を見たことがありますが、ページ サイズによっては 8 MB または 16 MB になります。

OS を再起動してファイル システム キャッシュをクリアする代わりに、データベースを独自のマウントに配置できます。次に、キャッシュを完全にクリアするには、Firebird を停止し、パーティションをアンマウント/マウントして、Firebird を再起動します。これにより、ファイル システム キャッシュが無効になります。

これはそれほど苦痛ではありません。他のデータベースとは異なり、Firebird は開始時にデータ ファイルをスキャンし、トランザクション ログでトランザクションを再生する必要はありません。変換ログは、慎重な書き込みを使用して、基本的にデータ ファイルと結合されます。

于 2012-08-23T20:33:10.933 に答える
1

頻繁にアクセスされるデータ ページのメモリ バッファに加えて、Firebird は OS ファイル キャッシュに依存しています。サーバー プロセスを再起動すると、メモリ バッファーを空にすることができますが、ファイル キャッシュをクリアするには、OS を再起動する必要があります。

于 2012-08-23T19:35:12.650 に答える
0

Firebird サービスを再起動するのが最も簡単な (唯一の?) 方法だと思います。

于 2012-08-23T19:19:01.417 に答える