Openfire服务器随机崩溃

时间:2016-01-24 19:19:16

标签: java xmpp openfire hazelcast bosh

部署: 使用hazelcast集群插件2.1.2集群中的3个openfire实例。除了集群插件之外,我们还有两个自定义插件可以正常工作。

连接(BOSH和TCP): 无连接:峰值加载时间约为10,000。

问题的性质: 我们看到随机崩溃。它随机出现。围绕这个时间的一些观察是openfire过程的线程数在几秒钟内就会达到30,000。 java堆栈跟踪告诉我们几乎所有这些线程在某些操作上都是BLOCKED。粘贴堆栈跟踪以供您参考。

观察到的堆栈跟踪是

" TaskEngine池-64675" #68993 daemon prio = 5 os_prio = 0 tid = 0x00007f125502e800 nid = 0x54e7等待监视器输入[0x00007f1312156000]    java.lang.Thread.State:BLOCKED(在对象监视器上)         at java.util.Collections $ SynchronizedCollection.add(Collections.java:2035)          - 等待锁定< 0x00000004e58dfd00> (java.util.Collections $ SynchronizedRandomAccessList)         在org.jivesoftware.openfire.http.HttpSession.deliver(HttpSession.java:1004)         在org.jivesoftware.openfire.http.HttpSession.deliver(HttpSession.java:970)         在org.jivesoftware.openfire.session.LocalSession.process(LocalSession.java:289)         在org.jivesoftware.openfire.spi.RoutingTableImpl.routeToBareJID(RoutingTableImpl.java:633)         在org.jivesoftware.openfire.spi.RoutingTableImpl.routeToLocalDomain(RoutingTableImpl.java:303)         在org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.java:239)         在org.jivesoftware.openfire.net.SocketPacketWriteHandler.process(SocketPacketWriteHandler.java:68)         在org.jivesoftware.openfire.spi.PacketDelivererImpl.deliver(PacketDelivererImpl.java:56)         在org.jivesoftware.openfire.http.HttpSession $ 4.run(HttpSession.java:1083)         at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)         at java.util.concurrent.FutureTask.run(FutureTask.java:266)         在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)         at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)         在java.lang.Thread.run(Thread.java:745)

以上是jstack输出,而线程数已达到30,000这样的高值,服务器没有响应。有什么指针吗?跟踪似乎表明无法访问数据结构。

0 个答案:

没有答案