Spring boot 在应力/负载测试期间,活性探针与致动器端点发生故障?

Spring boot 在应力/负载测试期间,活性探针与致动器端点发生故障?,spring-boot,kubernetes,stress-testing,apachebench,Spring Boot,Kubernetes,Stress Testing,Apachebench,我正在对我的应用程序进行ab测试,其中我发送3000个并发请求,总共10000个请求。我的应用程序是一个带执行器的spring boot应用程序,我使用kubernetes和docker进行集装箱化。在测试过程中,我的执行器端点花费的时间比预期的要长,因此我的POD重启和请求启动失败 现在我已经停止了liveness probe,在测试过程中,如果我手动点击执行器端点,我可以看到它需要很多时间才能做出响应,有时它甚至不会返回结果,只是突然停止 根据日志,我可以看到我的应用程序在10毫秒内处理每个

我正在对我的应用程序进行ab测试,其中我发送3000个并发请求,总共10000个请求。我的应用程序是一个带执行器的spring boot应用程序,我使用kubernetes和docker进行集装箱化。在测试过程中,我的执行器端点花费的时间比预期的要长,因此我的POD重启和请求启动失败

现在我已经停止了liveness probe,在测试过程中,如果我手动点击执行器端点,我可以看到它需要很多时间才能做出响应,有时它甚至不会返回结果,只是突然停止

根据日志,我可以看到我的应用程序在10毫秒内处理每个请求。但是AB测试结果完全不同。以下是AB测试的结果:

Concurrency Level:      3000
Time taken for tests:   874.973 seconds
Complete requests:      10000
Failed requests:        6
   (Connect: 0, Receive: 0, Length: 6, Exceptions: 0)
Non-2xx responses:      4
Total transferred:      1210342 bytes
Total body sent:        4950000
HTML transferred:       20580 bytes
Requests per second:    11.43 [#/sec] (mean)
Time per request:       262491.958 [ms] (mean)
Time per request:       87.497 [ms] (mean, across all concurrent requests)
Transfer rate:          1.35 [Kbytes/sec] received
                        5.52 kb/s sent
                        6.88 kb/s total

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0  372 772.5      0    3051
Processing:  1152 226664 145414.1 188502  867403
Waiting:     1150 226682 145404.6 188523  867402
Total:       2171 227036 145372.2 188792  868447

Percentage of the requests served within a certain time (ms)
  50%  188792
  66%  249585
  75%  295993
  80%  330934
  90%  427890
  95%  516809
  98%  635143
  99%  716399
 100%  868447 (longest request)
无法理解这种行为,因为它显示在一秒钟内只处理了大约11.43个请求,这是非常低的。原因可能是什么?还有,保持活力探针的方法是什么

我在应用程序中设置了以下属性。属性:

server.tomcat.max-connections=10000
server.tomcat.max-threads=2000

你在网上做这个测试?如果您确信您的应用程序运行得很快,那么您可以启动一个相对较胖的pod并从Kubernetes内部运行ab测试。这样你就可以理解这是不是库伯内特斯的问题了。不,我是在库伯内特斯吊舱内部做ab测试的。上面的结果来自pod本身。即使我在单独的机器上运行应用程序,其中只有此应用程序运行(非容器化),并在本地执行ab测试,结果几乎相同。这意味着您的应用程序非常慢。尝试增加Kubernetes的资源。在这里阅读更多:正如我已经提到的,我已经在一个带有4GB ram的专用服务器上运行了这个应用程序,并且得到了几乎相同的结果。在应用程序中,我的端点不与任何其他基础设施交互,并且如前所述,请求在10毫秒内从应用程序获得服务。您是在Internet上进行此测试的吗?如果您确信您的应用程序运行得很快,那么您可以启动一个相对较胖的pod并从Kubernetes内部运行ab测试。这样你就可以理解这是不是库伯内特斯的问题了。不,我是在库伯内特斯吊舱内部做ab测试的。上面的结果来自pod本身。即使我在单独的机器上运行应用程序,其中只有此应用程序运行(非容器化),并在本地执行ab测试,结果几乎相同。这意味着您的应用程序非常慢。尝试增加Kubernetes的资源。在这里阅读更多:正如我已经提到的,我已经在一个带有4GB ram的专用服务器上运行了这个应用程序,并且得到了几乎相同的结果。在应用程序中,我的端点不与任何其他基础设施交互,正如前面提到的,请求在10毫秒内从应用程序中获得服务。