Я делаю тестирование моего приложения, где я отправляю 3000 одновременных запросов и 10000 запросов.Мое приложение является подпружиненным приложением с приводом, и я использую kubernetes и докер для контейнеризации.Во время тестирования мои конечные точки привода занимают больше времени, чем ожидалось, из-за этого перезапускаются мои стручки и начинают сбиваться запросы.
Теперь я остановил датчик живучести, и во время теста, если я вручную достигну конечной точки привода, я могуЯ вижу, что для ответа требуется много времени, а иногда он даже не возвращает результат и просто зависает.
Я вижу, что каждое приложение обрабатывается моим приложением в течение 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 запроса обслуживаются в секунду, что очень мало.Что может быть причиной ?Также Каков должен быть способ сохранить датчик живучести?
У меня есть свойства, указанные ниже, в моем приложении.properties:
server.tomcat.max-connections=10000
server.tomcat.max-threads=2000