Как мне интерпретировать этот результат нагрузочного теста?
Мы использовали BlazeMeter для оценки способности нашего сайта справляться с нагрузкой.
Я установил простой скрипт, который входит в систему (используя специальную страницу, которая гарантирует, что у каждого пользователя нагрузочного теста есть разные учетные записи), посещает несколько страниц по общему маршруту и заканчивается генерацией и загрузкой отчета в формате PDF. Эти отчеты создаются на лету, и загрузка может занять некоторое время, чтобы начать работу.
Результат нагрузочного теста с 1000 одновременных пользователей (достигнут в 10:13 на следующем графике):
Как мы и ожидали, время отклика увеличилось, так как число пользователей увеличилось, а время ожидания увеличилось. После 10:13 сценарий постоянно посещал 1000 пользователей.
Нас смущает всплеск латентности (и, соответственно, времени отклика) около 10:25.
Мы запустили этот тест несколько раз, и все графики выглядят примерно так. Через несколько минут при 1000 одновременных пользователей наступает период с более высокой задержкой и временем отклика, после которого задержка уменьшается, как камень, и время отклика стабилизируется.
Мы обсудили это с нашим хостинг-сервисом (который обычно позволяет использовать 4 МБ, но "разогнал" нас до 100 МБ в периоды интенсивного использования), и они не могут этого объяснить. Наша первоначальная мысль заключалась в том, что после нескольких минут при более высокой нагрузке служба хостинга автоматически делала что-то с их сетью, чтобы получить более высокий приоритет или более высокую пропускную способность, что привело к перебоям в работе в течение нескольких минут, а затем к повышению производительности.
Наш хозяин, однако, утверждает, что это не так. Они говорят, что у нас всегда есть скорость 100 МБ, но превышение определенного порога - это просто "событие биллинга", а не то, что требует от своих систем что-либо делать.
Что может привести к такой производительности?
1 ответ
Задержка - это задержка вашего запроса на доступ к серверу.
Время ответа, необходимое для получения ответа от сервера, равно сумме времени ответа + задержки. Высокая задержка и достаточно низкое время отклика указывают на то, что с тестируемым приложением все в порядке, но вы попадаете в некоторые экологические ограничения.
Я бы предложил использовать плагин PerfMon для мониторинга работоспособности на стороне сервера по различным показателям, и если все в порядке, вы можете использовать что-то вроде Iperf, чтобы посмотреть, способен ли ваш сетевой адаптер выдерживать такую нагрузку.
Существует руководство по интерпретации отчетов о нагрузке, которое может быть связано с вашим делом.