慢jms mq消息发送
slow jms mq message sending
我们将 Websphere MQ 7.5 与 Javax-JMS-类 一起使用,并且有一些性能问题,这些问题是不可重现的。
我已将性能问题隔离到这两个方法调用 createSession
and send
。
这两个调用有时会花费大量时间(每条消息 > 300 毫秒)。通常有一个 Object.wait
调用导致速度变慢。所以也许jms正在等待资源。
有时我可以发送 500 条消息而不会出现该问题,但突然间它真的很慢。问题不可能出在我们的代码中,因为之前的每一步都不会花费太多时间。只有这两个 JMS 方法调用。
所以我的问题是,性能突然下降的原因可能是什么?
是否可以使用队列管理器日志进行调试?
任何想法都有帮助。
编辑:
我们正在使用客户端绑定并且 SHARECNV 设置设置为 10。
I have isolated the performance-issue to these two method-calls
createSession and send.
我希望您没有为放入队列的每条消息执行 createSession 方法调用,因为如果您这样做,那将是一个糟糕的设计。
执行 1 次 createConnection 方法调用和 1 次 createSession 方法调用,然后发送所有消息。如果您有多个线程,则使用连接池。
我们将 Websphere MQ 7.5 与 Javax-JMS-类 一起使用,并且有一些性能问题,这些问题是不可重现的。
我已将性能问题隔离到这两个方法调用 createSession
and send
。
这两个调用有时会花费大量时间(每条消息 > 300 毫秒)。通常有一个 Object.wait
调用导致速度变慢。所以也许jms正在等待资源。
有时我可以发送 500 条消息而不会出现该问题,但突然间它真的很慢。问题不可能出在我们的代码中,因为之前的每一步都不会花费太多时间。只有这两个 JMS 方法调用。
所以我的问题是,性能突然下降的原因可能是什么?
是否可以使用队列管理器日志进行调试?
任何想法都有帮助。
编辑:
我们正在使用客户端绑定并且 SHARECNV 设置设置为 10。
I have isolated the performance-issue to these two method-calls createSession and send.
我希望您没有为放入队列的每条消息执行 createSession 方法调用,因为如果您这样做,那将是一个糟糕的设计。
执行 1 次 createConnection 方法调用和 1 次 createSession 方法调用,然后发送所有消息。如果您有多个线程,则使用连接池。