Hi!
I posted the same question a few days ago, but it was not a satisfactory answer. So I ask again. Test sequence and inquiry contents 1. In the local test, the same load (hp-jmeter) for tomcat 7, 8 5 minutes, 2. Thread dump generated after 5 minutes of load termination 3. Most Thread in Tomcat 7 is in TIME_WAITING state (normally OK) 4. Thread in Tomcat 8 mostly RUNNABLE state (estimated to be abnormal) Thread Final Stack - Below (reading something) at org.apache.tomcat.jni.Socket.recvbb (Native Method) 5. Is the thread status of Tomcat 8 normal? Please let us know if we need additional resources to analyze this issue. #Tomcat 8 "ajp-apr-7009-exec-1083" #19321 daemon prio=5 os_prio=0 tid=0x00007fcd1405d800 nid=0x19fe runnable [0x00007fcc373f2000] java.lang.Thread.State: RUNNABLE at org.apache.tomcat.jni.Socket.recvbb(Native Method) at org.apache.coyote.ajp.AjpAprProcessor.readSocket(AjpAprProcessor.java:256) at org.apache.coyote.ajp.AjpAprProcessor.read(AjpAprProcessor.java:197) at org.apache.coyote.ajp.AbstractAjpProcessor.readMessage(AbstractAjpProcessor. java:1091) at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java :804) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(Abstrac tProtocol.java:684) at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEnd point.java:2458) - locked <0x00000000f6bce3a0> (a org.apache.tomcat.util.net.AprEndpoint$AprSocketWrapper) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11 42) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6 17) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.ja va:61) at java.lang.Thread.run(Thread.java:748) #Tomcat 7 "ajp-apr-7009-exec-111" #10247 daemon prio=5 os_prio=0 tid=0x00007fa6b811f000 nid=0x2f51 waiting on condition [0x00007fa6aa7b8000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x0000000083769178> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitN anos(AbstractQueuedSynchronizer.java:2078) at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:86) at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:32) at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066 ) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11 27) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6 17) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.ja va:61) at java.lang.Thread.run(Thread.java:745)