私は、ローカルデータストア用のBerkeleyDBを使用するサードパーティのアプリケーションを使用しています(BMCディスカバリと呼ばれています)。時間が経つにつれて、BDBファイルは断片化して大量になり、BMC Softwareは基本的にdb_dumpをdb_loadに新しいファイル名でパイプしたコンパクトなユーティリティをスクリプト化し、元のファイルを再構築したファイルで置き換えます。与えられたBDBファイルに対してBerkeleyDBのダンプ/ロード操作の継続時間を計算する方法は?
大容量のファイルに要する時間は非常に長く、数時間かかることがありますが、同じサイズのものは半分になります。それは本当にファイル内の断片化のレベルおよび/またはその中のデータのタイプに依存しているようです(私は仮定しますか?)。
提供されているユーティリティは、データストア(複数のBDBファイルで構成されています)の合計サイズに基づいて持続時間を見積もるための粗い方法を使用します。 Ex。 1Gより大きい場合は「数時間かかる」とし、100Gを超えると「時間がかかる」と言います。これはまったく助けにならない。
BerkeleyDB.6.0(Red Hat)で提供されているコマンドを使用して、特定のBDBファイルのdb_dump/db_load操作の継続時間を見積もるには、より正確で正確な方法があるのでしょうか?
注:この質問には、特定のサードパーティ製のアプリケーションが記載されていますが、文脈に入れておくだけです。問題は、BerkelyDBにとって一般的です。