Назад | Перейти на главную страницу

Как интерпретировать результат ab?

Я использую ab для нагрузочного тестирования своего сервера. Когда я увеличиваю число параллелизма с 1, количество запросов в секунду. Продолжается. Я также вижу, что время на запрос (среднее) увеличивается, а время на запрос (среднее для всех параллельных потоков) уменьшается. Однако, как только число параллелизма превысит определенное число, запросов в секунду. остается постоянным, время на запрос (среднее) увеличивается линейно с числом параллелизма, в то время как время на запрос (среднее значение для всех параллельных потоков) остается постоянным.

Как интерпретировать этот результат? Увеличивается ли задержка каждого запроса? Почему количество запросов в секунду остается неизменным? Означает ли это, что сервер ставит запросы в очередь и обслуживает их один за другим с постоянной скоростью? Является ли ab просто вычислением времени для каждого запроса, глядя на общее прошедшее время, количество параллельных потоков и общее количество запросов?

Похоже, ваш сервер достиг максимального количества запросов в секунду и времени на запрос (на самом деле, наоборот).

Скажем, цифры - максимум 100 запросов в секунду.

Если ваш параллелизм составляет 200 запросов, это означает, что через (скажем) 4 секунды у вас будет сделано 200 запросов. Сервер будет отвечать только на 100 запросов каждую секунду, и после каждого ответа клиент делает новый запрос (чтобы вернуть общее количество запросов обратно к 200). Это означает, что для получения ответа на каждый запрос потребуется 2 секунды (примерно / в среднем), потому что сервер, по сути, получает отставание в 100 запросов после 100, с которыми он действительно может работать.

Если вы увеличите параллелизм до 400, вы не измените количество запросов в секунду, которые сервер может обрабатывать, но вы измените размер невыполненной работы (до 300), что изменит время, необходимое для каждого данного запроса (4 секунды). . Вы по-прежнему получаете 100 ответов каждую секунду; они предназначены только для запросов давностью 4 секунды.

Если вы продолжите идти вверх, в какой-то момент вы дойдете до точки, когда сервер больше не сможет поддерживать отставание. В этот момент вы, вероятно, начнете видеть несколько неудачных запросов. Однако имеющийся у вас инструмент может не справиться с этим.