2016-04-08 8 views
4

99%非永続トピックでアクティブMQを使用しています。いくつかのテストでは、永続的ではないメッセージのみを使用していましたが、ブローカにmemoryPersistenceAdapterを強制的に適用させると違いが生じました。私は設定を次のように変更しました:なぜmemoryPersistenceAdapterでActiveMQが約20%速くなるのですか?

<beans> 
    ... 
    <broker ... persistent="false"*> 
    ... 
</beans> 

実際に違いがあります!スループットは約20%向上します。何を永続化する必要がないので

は理論的には、まったく違いがあってはなりません。ここで何が起こっているのですか?

答えて

0

キューとトピックの永続性は、プロバイダ/サーバーの再起動時に、未配信のメッセージがまだ存在してピックアップされるように利用可能であるように、メッセージがどこかに書かれていることが必要です。永続的なサブスクリプションがプレイしているとき

トピックの永続性は、永続的なサブスクリプションおよびトピックのアクティブな消費者が存在しない場合、メッセージはすぐにとにかく破棄され、実際には関連しています。

それは、アクティブなメッセージとプロバイダ/サーバの再起動が戻っメッセージになるだろうので、処理が背後に得ることができ、消費者のスレッドの最小数の非常に大きな数で可能です...しかし、その後、あなたの消費者はほとんどすぐに接続する必要があります、 私は信じている。

関連する問題