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
関連項目