8.2. キューのサイズ
8.2.1. キューのサイズの制御 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
キューのサイズを制御することは、メッセージングシステムのパフォーマンス管理において重要な部分です。
キューの作成時に、キューの最大キューサイズ(
qpid.max_size)および最大メッセージ数(qpid.max_count)を指定できます。
qpid.max_size はバイト単位で指定されます qpid.max_count。これはメッセージの数として指定されます。
以下は、メモリーの最大サイズが 200 MB で最大 5000 メッセージを持つキューを qpid-config 作成します。
qpid-config add queue my-queue --max-queue-size=204800000 --max-queue-count 5000
qpid-config add queue my-queue --max-queue-size=204800000 --max-queue-count 5000
アプリケーションでは、
qpid.max_count および qpid.max_size ディレクティブは arguments の内にあり x-declare nodeます。たとえば、以下のアドレスは上記の qpid-config コマンドとしてキューを作成します。
- python
tx = ssn.sender("my-queue; {create: always, node: {x-declare: {'auto-delete': True, arguments:{'qpid.max_count': 5000, 'qpid.max_size': 204800000}}}}")tx = ssn.sender("my-queue; {create: always, node: {x-declare: {'auto-delete': True, arguments:{'qpid.max_count': 5000, 'qpid.max_size': 204800000}}}}")Copy to Clipboard Copied! Toggle word wrap Toggle overflow
このコードの実行時にキューが存在しない場合のみ、
qpid.max_count 属性が適用されることに注意してください。
制限に達する場合の動作: qpid.policy_type
キューがこれらの制限に到達した場合の動作は設定可能です。デフォルトでは、非durable キューでは動作はになり rejectます。さらにキューへの送信を試みると、送信元で TargetCapacityExceeded 例外が発生します。
設定可能な動作は、
qpid.policy_type オプションを使用して設定されます。以下の値が使用できます。
- reject
- メッセージパブリッシャーは例外をスローし
TargetCapacityExceededます。これは、durableキュー以外のデフォルトの動作です。 - リング
- 新しいメッセージのスペースを作成するために、最も古いメッセージは削除されます。
以下の qpid-config コマンド例は、制限ポリシーをに設定
ringします。
qpid-config add queue my-queue --max-queue-size=204800 --max-queue-count 5000 --limit-policy ring
qpid-config add queue my-queue --max-queue-size=204800 --max-queue-count 5000 --limit-policy ring
同様に、アプリケーションでも同じことが実施されます。
- python
tx = ssn.sender("my-queue; {create: always, node: {x-declare: {'auto-delete': True, arguments:{'qpid.max_count': 5000, 'qpid.max_size': 204800, 'qpid.policy_type': 'ring'}}}}")tx = ssn.sender("my-queue; {create: always, node: {x-declare: {'auto-delete': True, arguments:{'qpid.max_count': 5000, 'qpid.max_size': 204800, 'qpid.policy_type': 'ring'}}}}")Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連項目