0

私の製品では、メッセージング サービスとして SwiftMQ を使用しています。page.dg ファイルを使用していることがわかり、それが JMS トランザクション ファイルであることがわかりました。私の環境では最大9 GBまで非常に大きくなっていることがわかります。私はネットでいくつかの調査を行いましたが、私の疑問に対する明確な答えを得ることができませんでした. 基本的に -- 1. page.db ファイルが使用される理由と、このファイルを手動で削除することの意味は何ですか。悪影響はありますか?また、このファイルが特定の構成可能なサイズを超えて大きくなるのを制御できますか? これらの回答を明確にしていただければ幸いです。

4

3 に答える 3

0

page.db は、キューに入る永続メッセージを格納するために使用されます。それらは、コンシューマーによって消費されると削除されます。page.db の最大サイズを制限したい場合は不可能ですが、トラフィックを分析することで回避できます (メッセージがどのくらいのスペースを占めるか [page.db サイズ / 一度にすべてのキューにあるメッセージの数] を確認します)。 )、キューの最大メッセージ制限を定義します。

于 2015-04-28T07:22:07.510 に答える
0

Linux サーバーでも SwiftMQ を使用しています。私の知る限り、page.db とトランザクション ファイルは、キュー内のメッセージの「ログ」のようなものです。

page.db とトランザクション ファイルを手動で削除すると、その時点でキューにあるすべてのメッセージが削除されます。私は前にこれをやったことがあります。

しかし、ファイルの成長を制御することについて確信が持てませんか?

于 2013-05-24T08:41:06.520 に答える
0

page.db には、実際の永続的なデータ ストアが含まれています (ページが含まれており、データベースであるため、名前が付けられています ;-))。すべての変更は transaction.log に記録されます。これは、チェックポイント中に同期されます。

page.db が大きくなる理由は非常に単純です。永続メッセージの大量のバックログを持つキューが 1 つ以上あります。多くの場合、これらは無効な永続サブスクライバです。そのため、SwiftMQ Explorer で確認してください: Queue Manager Swiftlet / Usage を右クリックし、[Show Entity Table] をクリックします。メッセージ数で並べ替えるには、[メッセージ数] 列をクリックします。これは、バックログのあるキューを識別するのに役立ちます。

ところで、SwiftMQ ユーザー フォーラムがあり、質問に対する回答が得られる可能性が高くなります。

于 2013-09-06T16:37:01.340 に答える