Высокое время отклика в тестах Гатлинга - PullRequest
0 голосов
/ 08 января 2020

У меня проблема с Гатлингом и временем ответа API. Я хочу проверить производительность (время отклика) и конечную точку с определенным количеством пользователей (в примерах 200).

У меня есть конечная точка в https://my-remote-machine/rest/v1/auth-token, чтобы получить действительный токен, выполняющий операцию POST с учетными данными.

Результаты

Apache тест

Выполнение следующей команды:

ab -T 'application/json' -n 200 -c 200 -p creds https://my-remote-machine/rest/v1/auth-token

Я получаю следующее время ответа:

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      101  112  75.4    104    1139
Processing:    66   85  79.6     73    1036
Waiting:       66   85  79.6     73    1035
Total:        169  197 111.8    177    1209


Percentage of the requests served within a certain time (ms)
  50%    177
  66%    180
  75%    185
  80%    188
  90%    196
  95%    236
  98%    418
  99%   1155
 100%   1209 (longest request)


Между 169 мс и 1209 мс

Но когда я это делаю с Гатлингом время отклика очень высокое, и я не знаю, почему это происходит. (Тесты были выполнены локально и в конвейере Jenkins на одном хосте vShpere, меньше задержки в сети и те же результаты)

Код Gatling

val httpProtocol = http.baseUrl("https://my-remote-machine/rest/v1/")

val scn = scenario(scenarioName)
  .exec(
    http("my-auth-requests")
      .post("auth-token")
      .body(StringBody("{ \"username\":\"admin\", \"password\":\"mypassword\" }"))
      .header("Content-Type", "application/json")
      .check(status.is(200))

setUp(scn.inject(atOnceUsers(numberOfUsers))).protocols(httpProtocol)

И результаты:

================================================================================
---- Global Information --------------------------------------------------------
> request count                                        200 (OK=200    KO=0     )
> min response time                                    365 (OK=365    KO=-     )
> max response time                                   3322 (OK=3322   KO=-     )
> mean response time                                  2359 (OK=2359   KO=-     )
> std deviation                                        750 (OK=750    KO=-     )
> response time 50th percentile                       2544 (OK=2544   KO=-     )
> response time 75th percentile                       2946 (OK=2946   KO=-     )
> response time 95th percentile                       3260 (OK=3260   KO=-     )
> response time 99th percentile                       3306 (OK=3306   KO=-     )
> mean requests/sec                                     50 (OK=50     KO=-     )
---- Response Time Distribution ------------------------------------------------
> t < 800 ms                                            12 (  6%)
> 800 ms < t < 1200 ms                                  10 (  5%)
> t > 1200 ms                                          178 ( 89%)
> failed                                                 0 (  0%)
================================================================================

Между 365 мс и 3322 мс , что намного выше, чем с Apache Бенчмарк

Я повторял тесты много раз и всегда одни и те же результаты .

Любая подсказка?

...