Скорость выборочного удаления из очереди MQ иногда ужасна

У меня есть процесс, который использует JMSTemplate для выборочного удаления из очереди MQ на основе значений заголовка JMS.

Когда запрос на удаление из очереди соответствует сообщениям в начале очереди, скорость удаления из очереди составляет приблизительно 60-70 msg/sec. Однако, когда запрос соответствует сообщениям только на 50, 100 или 200 сообщений в глубину, скорость удаления из очереди падает до 1 msg / 3-4 секунды.

Быстрый запрос на удаление из очереди — ThreadId='24' or ThreadId='PRIMARY'. Медленный запрос на удаление из очереди — ThreadId='24'.

Настоящая причина медленного времени обработки может быть чем-то другим, но я наблюдаю изменение времени обработки не более чем изменением запроса отмены выбора.

Я подозреваю, что эта скорость обработки не является обычной. Что может пойти не так?


person Synesso    schedule 29.05.2012    source источник
comment
Какую версию MQ вы используете? 6.х? v7.x имеет множество улучшений производительности. Вы также можете просмотреть отчеты о производительности WMQ и рекомендации по настройке на странице www-304.ibm.com/support/docview.wss?uid=swg27007197. Отчеты о производительности публикуются в виде пакетов SupportPac, а имена имеют префикс   -  person Shashi    schedule 29.05.2012


Ответы (1)


Запрашивать глубокие очереди по заголовкам не рекомендуется, так как заголовки не индексируются. Это может быть проблемой. Запросы по CorrelationId и MessageId (если они имеют формат «ID:48-hex-digits») будут индексироваться и выполняться очень быстро (~1 мс/запрос в очень глубоких очередях, в зависимости от настройки).

Мы также столкнулись с этой проблемой и решили кодировать идентификатор корреляции в заголовке идентификатора корреляции, а не в заголовках строковых свойств JMS (MQRFH2/usr).

Это было на MQ 7.0

person Petter Nordlander    schedule 29.05.2012
comment
Это потребовало серьезного рефакторинга, но теперь я использую идентификатор корреляции, и это очень быстро. Огромное спасибо. - person Synesso; 01.06.2012
comment
Хорошо, что у тебя наконец-то выступление. WMQ было бы действительно здорово, если бы все заголовки имели индекс или если бы это можно было настроить. Спасибо, есть некоторые обходные пути на данный момент - person Petter Nordlander; 01.06.2012