Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 慢速jms mq消息发送_Java_Jms_Ibm Mq_Websphere 7 - Fatal编程技术网

Java 慢速jms mq消息发送

Java 慢速jms mq消息发送,java,jms,ibm-mq,websphere-7,Java,Jms,Ibm Mq,Websphere 7,我们将WebSphereMQ7.5与JavaXJMS类一起使用,并且存在一些性能问题,这些问题是不可复制的 我已经将性能问题隔离到这两个方法调用和 这两个调用有时需要花费大量时间(每条消息大于300ms)。通常有一个对象。wait调用会导致速度减慢。因此,jms可能正在等待资源 有时我可以发送500条消息,但没有任何问题发生,但突然它真的很慢。问题不可能出现在我们的代码中,因为前面的每一步都不需要花费太多时间。只有这两个JMS方法调用 所以我的问题是,性能突然下降的原因是什么 是否可以使用que

我们将WebSphereMQ7.5与JavaXJMS类一起使用,并且存在一些性能问题,这些问题是不可复制的

我已经将性能问题隔离到这两个方法调用和

这两个调用有时需要花费大量时间(每条消息大于300ms)。通常有一个
对象。wait
调用会导致速度减慢。因此,jms可能正在等待资源

有时我可以发送500条消息,但没有任何问题发生,但突然它真的很慢。问题不可能出现在我们的代码中,因为前面的每一步都不需要花费太多时间。只有这两个JMS方法调用

所以我的问题是,性能突然下降的原因是什么

是否可以使用queuemanager日志对其进行调试

任何想法都是有用的

编辑

我们正在使用客户端绑定,SHARECNV设置为10

我已将性能问题与这两个方法调用隔离开来 创建会话并发送

我希望您没有为放入队列的每条消息调用createSession方法,因为如果您这样做,这是一个糟糕的设计


执行1个createConnection方法调用和1个createSession方法调用,然后发送所有消息。如果您有多个线程,请使用连接池。

是否有可能使用持久主题?请使用以下附加信息更新您的问题;您使用的是客户端绑定(即通过网络连接到队列管理器)还是本地绑定;如果是客户端,您是否在托管环境中运行应用程序,其中可能存在池连接或共享连接(SVRCONN定义上的SHARECNV设置);在createSession花费很长时间的同时,队列管理器批次中是否显示了任何网络问题?@MoragHughson我已经编辑了我的问题。但我无法回答在通话过程中qmgr中是否存在网络问题。在qmgr中,我在哪里可以检查它?@Nicholas我在哪里可以检查它?我的意思是,您是在使用主题(持久的)的pub/sub还是队列。持久主题在订户连接时存储和发送。让我们从JMS“主题或队列”开始,谢谢您的回答。但你是对的。当前,每发送一条消息都有一个createSession。这可能是性能问题的原因吗?是的,正如罗杰所说,这将是非常糟糕的性能。这就像你的邮递员在你的车道上走了好几次,以便单独投递每个信封,而不是一次走上车道,一次投递所有的信封。那么,我怎样才能保持会话的活力呢?这样做有缺点吗?我们使用messagelistener并等待消息飞入。