Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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 使用~100%CPU和250 TPS测试的Web应用程序_Java_Multithreading_Performance_Tomcat_Optimization - Fatal编程技术网

Java 使用~100%CPU和250 TPS测试的Web应用程序

Java 使用~100%CPU和250 TPS测试的Web应用程序,java,multithreading,performance,tomcat,optimization,Java,Multithreading,Performance,Tomcat,Optimization,我有一个简单的rest服务,它从Mysql数据库获取数据。我在用tomcat。当我运行250 TPS测试时,cpu使用率上升到约85%。我查看了哪个java线程消耗了更多内存,并在此基础上查看了线程转储中的线程,但无法了解到底发生了什么 我有2个核心cpu,tomcat线程池中有200个线程 Tasks: 202 total, 2 running, 200 sleeping, 0 stopped, 0 zombie Cpu(s): 5.0%us, 2.2%sy,

我有一个简单的rest服务,它从Mysql数据库获取数据。我在用tomcat。当我运行250 TPS测试时,cpu使用率上升到约85%。我查看了哪个java线程消耗了更多内存,并在此基础上查看了线程转储中的线程,但无法了解到底发生了什么

我有2个核心cpu,tomcat线程池中有200个线程

    Tasks: 202 total,   2 running, 200 sleeping,   0 stopped,   0 zombie
    Cpu(s):  5.0%us,  2.2%sy,  0.0%ni, 92.5%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   7539820k total,  7409136k used,   130684k free,    74432k buffers
    Swap:        0k total,        0k used,        0k free,  5031940k cached

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                       
    24589 root      20   0 5551m 1.8g  16m S  3.9 25.0   0:06.33 java                                                                           
    24998 root      20   0 5551m 1.8g  16m S  3.9 25.0   0:00.75 java                                                                           
    25043 root      20   0 5551m 1.8g  16m S  3.9 25.0   0:00.74 java                                                                           
    25051 root      20   0 5551m 1.8g  16m S  3.9 25.0   0:00.73 java                                                                           
    18407 root      20   0 5551m 1.8g  16m S  2.0 25.0   1:02.71 java                                                                           
    19413 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:50.43 java                                                                           
    24385 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:17.01 java                                                                           
    24386 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:16.84 java                                                                           
    24441 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:12.61 java                                                                           
    24443 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:12.51 java                                                                           
    24540 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.33 java                                                                           
    24543 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.37 java                                                                           
    24552 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.26 java                                                                           
    24554 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.21 java                                                                           
    24555 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.37 java                                                                           
    24556 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.31 java                                                                           
    24558 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.20 java                                                                           
    24560 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.27 java                                                                           
    24562 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.28 java                                                                           
    24563 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.32 java                                                                           
    24564 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.30 java                                                                           
    24566 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.33 java                                                                           
    24568 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.20 java                                                                           
    24569 root      20   0 5551m 1.8g  16m R  2.0 25.0   0:06.21 java                                                                           
    24573 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.24 java                                                                           
    24575 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.24 java                                                                           
    24577 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.25 java                                                                           
    24580 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.36 java                                                                           
    24581 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.29 java                                                                           
    24583 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.32 java                                                                           
    24585 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.25 java                                                                           
    24591 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.32 java                                                                           
    24592 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.31 java                                                                           
    24595 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.30 java                                                                           
    24600 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.33 java                                                                           
    24604 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.33 java                                                                           
    24605 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.36 java                                                                           
    24610 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.41 java                                                                           
    24616 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.28 java                                                                           
    24618 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.37 java                                                                           
    24620 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.25 java                                                                           
    24623 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.20 java                                                                           
    24624 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:06.33 java                                                                           
    24999 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.71 java                                                                           
    25000 root      20   0 5551m 1.8g  16m R  2.0 25.0   0:00.70 java                                                                           
    25001 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.76 java                                                                           
    25006 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.74 java                                                                           
    25007 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.73 java                                                                           
    25013 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.74 java                                                                           
    25017 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.76 java                                                                           
    25029 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.69 java                                                                           
    25038 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.73 java                                                                           
    25039 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.74 java                                                                           
    25046 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.74 java                                                                           
    25047 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.69 java                                                                           
    25050 root      20   0 5551m 1.8g  16m S  2.0 25.0   0:00.73 java                                                                           
    12594 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:00.00 java                                                                           
    12595 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:19.58 java                                                                           
    12596 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:08.76 java                                                                           
    12597 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:08.83 java                                                                           
    12598 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:14.77 java                                                                           
    12599 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:00.18 java                                                                           
    12600 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:00.16 java                                                                           
    12601 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:00.00 java                                                                           
    12604 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:00.00 java                                                                           
    12605 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:00.01 java                                                                           
    12606 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:00.00 java                                                                           
    12607 root      20   0 5551m 1.8g  16m S  0.0 25.0   0:01.02 java  
线程转储:

"http-apr-8443-exec-363" #397 daemon prio=5 os_prio=0 tid=0x00007f97cc2d0000 nid=0x600f waiting on condition [0x00007f978cbd2000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x0000000722096050> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
            at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745)

    "http-apr-8443-exec-362" #396 daemon prio=5 os_prio=0 tid=0x00007f97cc1b2000 nid=0x600e waiting on condition [0x00007f978cdd4000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x0000000722096050> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
            at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745Connection to 52.32.230.38 closed by remote host.
    Connection to 52.32.230.38 closed.
    qadeersmsiphone:/ pdubey$ 395 daemon prio=5 os_prio=0 tid=0x00007f97cc254800 nid=0x600d waiting on condition [0x00007f978d5dc000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x0000000722096050> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
            at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745)

    "http-apr-8443-exec-360" #394 daemon prio=5 os_prio=0 tid=0x00007f97cc063000 nid=0x600c waiting on condition [0x00007f978d6dd000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x0000000722096050> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
            at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
            at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
            at java.lang.Thread.run(Thread.java:745)

    "http-apr-8443-exec-359" #393 daemon prio=5 os_prio=0 tid=0x00007f97cc072000 nid=0x600b waiting on condition [0x00007f978d8df000]
       java.lang.Thread.State: TIMED_WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x0000000722096050> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
            at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
            at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
                                                                                                                              1794,41-48    55%
 http-apr-8443-exec-361" #395 daemon prio=5 os_prio=0 tid=0x00007f97cc254800 nid=0x600d waiting on condition [0x00007f978d5dc000]
        java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x0000000722096050> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
        at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
        at org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)
“http-apr-8443-exec-363”#397守护进程prio=5 os_prio=0 tid=0x00007f97cc2d0000 nid=0x600f等待条件[0x00007f978cbd2000]
java.lang.Thread.State:定时等待(停车)
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.parknos(LockSupport.java:215)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
位于java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
位于java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
运行(Thread.java:745)
“http-apr-8443-exec-362”#396守护程序prio=5 os#u prio=0 tid=0x00007f97cc1b2000 nid=0x600e等待条件[0x00007f978cdd4000]
java.lang.Thread.State:定时等待(停车)
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.parknos(LockSupport.java:215)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
位于java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
位于java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
在java.lang.Thread.run(Thread.java:745连接到远程主机关闭的52.32.230.38)。
与52.32.230.38的连接已关闭。
qadeersmsiphone:/pdubey$395守护进程优先级=5 os_优先级=0 tid=0x00007f97cc254800 nid=0x600d等待条件[0x00007f978d5dc000]
java.lang.Thread.State:定时等待(停车)
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.parknos(LockSupport.java:215)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
位于java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
位于java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
运行(Thread.java:745)
“http-apr-8443-exec-360”#394守护进程prio=5 os#u prio=0 tid=0x00007f97cc063000 nid=0x600c等待条件[0x00007f978d6dd000]
java.lang.Thread.State:定时等待(停车)
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.parknos(LockSupport.java:215)
位于java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
位于java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:85)
位于org.apache.tomcat.util.threads.TaskQueue.poll(TaskQueue.java:31)
位于java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
运行(Thread.java:745)
“http-apr-8443-exec-359”#393守护程序prio=5 os#u prio=0 tid=0x00007f97cc072000 nid=0x600b等待条件[0x00007f978d8df000]
java.lang.Thread.State:定时等待(停车)
在sun.misc.Unsafe.park(本机方法)
-停车等待(java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
位于java.util.concurrent.locks.LockSupport.parknos(LockSupport.java:215)
在java.uti