MessageProducer.send () слишком медленный для определенной темы

Я сузил область проблемы, с которой я сталкиваюсь, и оказалось, что MessageProducer.send() слишком медленно, когда он создан для конкретный тема "replyfeserver":

auto producer = context.CreateProducerFromTopic("replyfeserver");

producer->send(textMessage); //it is slow

Здесь призыв к send() время от времени блокируется до 55-65 секунд — почти каждый раз после 4-5 звонков и в целом до 5-15 секунд.

Однако, если я использую какую-то другую тему, скажем, "feserver.action.status",

auto producer = context.CreateProducerFromTopic("feserver.action.status");

producer->send(textMessage); //it is fast!

Теперь вызов send() возвращается немедленно, в течение доли секунды. я пробовал send() с несколькими другими темами, и все они работают достаточно быстро.

Какие могут быть возможные проблемы с этой конкретной темой "replyfeserver"? На что мне следует обратить внимание, чтобы диагностировать проблему? Я использовал эту тему в течение последних 2 месяцев.

Я использую XMS C ++ API и, пожалуйста, предположите, что context объект — это абстракция, которая создает сеанс, пункт назначения, потребителя, производителя и так далее.

Я также хотел бы знать, есть ли разница между этими двумя подходами:

xms::Destination dest("topic://replyfeserver");

против

xms::Destination dest = session.createTopic("replyfeserver");

Я попробовал с обоими, это не имеет никакого значения — по крайней мере, я этого не заметил.

0

Решение

Там не должно быть никакой разницы. Лично мне нравится, чтобы мои темы были в иерархии. то есть A.B.C

Я запустил бы трассировку MQ, затем открыл бы PMR в IBM, дал бы им трассировку и сказал, пожалуйста, объясните задержку.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]