Project

General

Profile

how to slove Queue overflow when the tigase server run a wihle

lucys ksisl
Added over 3 years ago

when my tigase server run a while,maybe some day,the tigase monitor show the overflow is verby big.But user connections is not very big.And received messages have a very serious delay phenomenon. The Detailed analysis of the tigase server is in the attachment. Can someone please help.

Thanks in advance

tigaseAllStatist.txt (132 KB) tigaseAllStatist.txt tigase统计日志

Replies (5)

Added by Wojciech Kapcia TigaseTeam over 3 years ago

There are two offending plugins in your case:

sess-man/Processor: session-close=,Queue: 192945, AvTime: 11, Runs: 2446988, Lost: 10121,

sess-man/Processor: jabber:iq:auth=, Queue: 96471, AvTime: 7, Runs: 3492587, Lost: 1039766,

Please:

  • check your database connectivity;

  • make sure there aren't any deadlocks.

Added by lucys ksisl over 3 years ago

9 days over,the problem comes over again,as you say,i found one deadlock with command:jstatck

Found one Java-level deadlock:

=============================

jabber:iq:auth Queue Worker 18

waiting to lock monitor 0x00007f6d800d2768 (object 0x00000005831dfd38, a tigase.xmpp.XMPPResourceConnection),

which is held by "jabber:iq:auth Queue Worker 17"

jabber:iq:auth Queue Worker 17

waiting to lock monitor 0x00007f6dd8044ff8 (object 0x00000005831d7140, a tigase.xmpp.XMPPResourceConnection),

which is held by "jabber:iq:auth Queue Worker 18"

Java stack information for the threads listed above:

===================================================

jabber:iq:auth Queue Worker 18

at tigase.xmpp.XMPPResourceConnection.streamClosed(XMPPResourceConnection.java:429)

- waiting to lock <0x00000005831dfd38> (a tigase.xmpp.XMPPResourceConnection)

at tigase.xmpp.XMPPResourceConnection.logout(XMPPResourceConnection.java:311)

at tigase.xmpp.XMPPSession.addResourceConnection(XMPPSession.java:122)

at tigase.xmpp.XMPPResourceConnection.setResource(XMPPResourceConnection.java:958)

at tigase.xmpp.impl.JabberIqAuth.process(JabberIqAuth.java:248)

- locked <0x00000005831d7140> (a tigase.xmpp.XMPPResourceConnection)

at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2463)

at tigase.util.WorkerThread.run(WorkerThread.java:128)

jabber:iq:auth Queue Worker 17

at tigase.xmpp.XMPPResourceConnection.streamClosed(XMPPResourceConnection.java:429)

- waiting to lock <0x00000005831d7140> (a tigase.xmpp.XMPPResourceConnection)

at tigase.xmpp.XMPPResourceConnection.logout(XMPPResourceConnection.java:311)

at tigase.xmpp.XMPPSession.addResourceConnection(XMPPSession.java:122)

at tigase.xmpp.XMPPResourceConnection.setResource(XMPPResourceConnection.java:958)

at tigase.xmpp.impl.JabberIqAuth.process(JabberIqAuth.java:248)

- locked <0x00000005831dfd38> (a tigase.xmpp.XMPPResourceConnection)

at tigase.server.xmppsession.SessionManager$ProcessorWorkerThread.process(SessionManager.java:2463)

at tigase.util.WorkerThread.run(WorkerThread.java:128)

Found 1 deadlock.

And the monitor show :

sess-man/Processor: jabber:iq:auth=, Queue: 21438, AvTime: 7, Runs: 4302557, Lost: 9710,

sess-man/Processor: session-close=, Queue: 50779, AvTime: 7, Runs: 3160560, Lost: 0,

is it the deadlock case this problem? Why " jabber:iq:auth" and " session-close" comes together?

and I checked the thread information,there is 24 workthread of "jabber:iq:auth Queue Worker" ,If I put the number of threads to increase, will not be a little better? And How?

Thanks in advance!

Added by Hic cup over 3 years ago

eh .. I add a method without sync

[[[https://projects.tigase.org/boards/4/topics/3277?r=3311#message-3311]]]

[[[https://projects.tigase.org/issues/2415]]]

Added by lucys ksisl over 3 years ago

I consulted the above post, but it seemed not to find a solution.Do you mean I should Remove The "synchronized" in lotout? Please give me some advice.

Thanks in advance!

Added by Hic cup over 3 years ago

yes, I just Remove "synchronized".

    (1-5/5)