MessageProducer.send() 对于特定主题来说太慢了

MessageProducer.send() is too slow for a particular topic

本文关键字:send 于特定 MessageProducer      更新时间:2023-10-16

我已经缩小了我面临的问题区域,事实证明,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"可能出现哪些问题?为了诊断问题,我应该查看哪些内容?在过去的两个月里,我一直在使用这个主题。

我正在使用 XMS C++ API,请假设context对象是一个抽象,用于创建会话、目标、消费者、生产者等。

我还想知道这两种方法之间是否有任何区别:

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

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

我尝试了这两种方法,没有任何区别——至少我没有注意到它。

应该没有任何区别。就个人而言,我喜欢将我的主题放在层次结构中。 即 A.B.C

我会运行一个 MQ 跟踪,然后与 IBM 一起打开一个 PMR 并给他们跟踪,并说请解释延迟。