Tomcat stops working: no ajp available

My Tomcat 7.0.27 running Liferay 6.1.20-ee-ga2 stops working during high load. Running jstack gives me a lot of this thread that doesn't seem to do anything and is blocking the ajp resource. The processor is not under high load (less than 55%).

"ajp-bio-8009-exec-8930" daemon prio = 10 tid = 0x00007f8a5c12f800 nid = 0xcc26 runnable [0x0000000000000000] java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"ajp-bio-8009-exec-8929" daemon prio=10 tid=0x00007f8a5c12e800 nid=0xcc25 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"ajp-bio-8009-exec-8928" daemon prio=10 tid=0x00007f8a5c0eb800 nid=0xcc20 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

"ajp-bio-8009-exec-8927" daemon prio=10 tid=0x00007f8a5c042800 nid=0xcc1f runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

      

Can anyone explain to me what this thread is doing? Is it normal that they are in this state? Thanks to

+3


source to share


3 answers


It seems that the threads are stuck at 0x0000000000000000 due to out of memory. No free space, so allocation stops at 0x0000000000000000



"ajp-bio-8009-exec-8929" daemon prio=10 tid=0x00007f8a5c12e800 nid=0xcc25 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

   Locked ownable synchronizers:
        - None

      

0


source


AJP is used to communicate between your web server (apache http) and your tomcat server. AJP is slightly resource-saving than plain http.

Client <--http--> Webserver <--ajp--> Tomcat



To connect ajp, pooling is used. The default value for Tomcats for the maximum number of ajp threads is 200. So 200 concurrent requests can be handled. Therefore, at high load, there should be no more than 200 ajp threads waiting for some work (RUNNABLE).

+1


source


OK. if the server becomes unresponsive, there may be several underlying reasons.

  • The web server does not allow 700 threads / connections.
  • Your application is not freeing threads somehow.

If the server is not responding, are other connectors (http, etc.) running, or is the system not responding to requests?

Does maxThread increase sensitivity (or vice versa)?

Relationship Marseille

0


source







All Articles