6.2.4. ジャーナルファイルの圧縮
AMQ Broker には、ジャーナルからデッド領域を削除し、データの圧縮解除によりディスク領域が少なくなるようにする圧縮アルゴリズムが含まれています。コンパクションを開始するタイミングを決定するには、2 つの条件が使用されます。両方の条件が満たされると、コンパクションプロセスはジャーナルを解析し、期限切れのレコードをすべて削除します。そのため、ジャーナルにはファイルが少なくなります。条件は次のとおりです。
- ジャーナル用に作成されたファイルの数。
- ジャーナルファイルのライブデータの割合。
BROKER_INSTANCE_DIR/etc/broker.xml
で両方の条件を設定します。
手順
コンパクションプロセスの条件を設定するには、以下の例のように以下の 2 つの要素を追加します。
<configuration> <core> ... <journal-compact-min-files>15</journal-compact-min-files> 1 <journal-compact-percentage>25</journal-compact-percentage> 2 ... </core> </configuration>
CLI を使用したジャーナルの圧縮
また、コマンドラインインターフェイス (CLI) を使用してジャーナルを圧縮することもできます。
手順
BROKER_INSTANCE_DIR
の所有者としてブローカーを停止します。以下の例では、AMQ Broker のインストール時にユーザーamq-broker
が作成されています。su - amq-broker cd __BROKER_INSTANCE_DIR__/bin $ ./artemis stop
(オプション) 以下の CLI コマンドを実行して、データツールのパラメーターの全一覧を取得します。デフォルトでは、このツールは
BROKER_INSTANCE_DIR/etc/broker.xml
にある設定を使用する点に注意してください。$ ./artemis help data compact.
以下の CLI コマンドを実行して、データを圧縮します。
$ ./artemis data compact.
ツールがデータを正常に圧縮したら、ブローカーを再起動します。
$ ./artemis run
関連情報
AMQ Broker には、ジャーナルファイル管理用の CLI コマンドが多数含まれています。詳細は、付録の コマンドラインツール を参照してください。