2016-10-27 9 views
0

私はembed jetty/tomcatで春のブートアプリケーションをテストしています。私はテスト用のapache abを使用しています。春ブートロードテスト:一部のリクエストがスタックされました

ab -n 100000 -c 1000 http://127.0.0.1:8080/ping 

Server Software:   
Server Hostname:  127.0.0.1 
Server Port:   8080 

Document Path:   /ping 
Document Length:  2 bytes 

Concurrency Level:  1000 
Time taken for tests: 5.253 seconds 
Complete requests:  100000 
Failed requests:  0 
Total transferred:  17000000 bytes 
HTML transferred:  200000 bytes 
Requests per second: 19038.05 [#/sec] (mean) 
Time per request:  52.526 [ms] (mean) 
Time per request:  0.053 [ms] (mean, across all concurrent requests) 
Transfer rate:   3160.61 [Kbytes/sec] received 

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  0 37 222.1  0 3006 
Processing:  0 7 21.9  3  855 
Waiting:  0 7 21.7  3  853 
Total:   0 44 228.0  4 3052 

Percentage of the requests served within a certain time (ms) 
    50%  4 
    66%  7 
    75%  9 
    80%  11 
    90%  22 
    95%  39 
    98% 1004 
    99% 1017 
100% 3052 (longest request) 

だから、いくつかのリクエストはどこかでスタックされています。 Tomcatで

_maxThreads, _minThread 

:桟橋で
は、私は別の値を試してみましたプロファイラで

max-connections, max-threads, min-spare-threads 

を私は次を見つけた:

org.eclipse.jetty.util.thread.QueuedThreadPool$2.run()    16,215ms 
    org.eclipse.jetty.util.thread.QueuedThreadPool.access$800 
     org.eclipse.jetty.util.thread.QueuedThreadPool.iddleJobPoll 
      org.eclipse.jetty.util.BlockingArrayQueue.poll   13,915ms 

ありがとう!

+0

私は、あなたが何らかのリクエストがどこかでつまっていると思うのを本当に理解しているとは確信していませんか? – jchampemont

+0

こんにちは。なぜ98%が1秒ですか? requesetsの98%は大丈夫です。 2%は時間がかかりました。何か奇妙なもの。 -k(keepAlive)オプションを指定するとより良い結果が得られます –

答えて

0

最後に、私は答えを見つけました。 30秒ごとに問題が発生しました。

load test

これは、 "サーバー:Tomcatの:背景・プロセッサ・遅延" に起こったPARAM。

関連する問題