Как стать автором
Обновить

Как использовать JMeter для нагрузочного тестирования и тестирования производительности

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров37K
Всего голосов 19: ↑17 и ↓2+15
Комментарии6

Комментарии 6

  1. подскажите пожалуйста (для примера) циферки для сайта?

Нормальная нагрузка (среднее количество пользователей, посещающих сайт) - 1000 в сутки

Большая нагрузка (максимальное количество пользователей, посещающих сайт) - 10000 в сутки

что мне написать в Number of Threads, Loop Count, Ramp-Up Period, чтобы покрыть эти цифры?

  1. я правильно понимаю, что в jmeter каждый url (страницу) надо тестировать отдельно? он сам не ходит по ссылкам? или можно как-то список ссылок ему скормить (как?)?

  2. вот получил какие-то графики… а как мне понять выдерживает мой сервер нагрузки или нет? и в чём именно не выдерживает (что подкрутить память, проц, back)?

  3. как заранее оценить время на тест (исходя из настроек Number of Threads, Loop Count, Ramp-Up Period)?

По поводу цифрок (ваш вопрос номер 1):

Ramp up - это время разгона. Оно должно быть минимальным, при котором можно тестировать вашу систему.

Тут такой нюанс: сделаете слишком мало - система упадёт при разгоне. Или не упадёт, но будет долго стабилизироваться и результаты теста будут неверными.

Сделаете слишком много - тест будет верным , но уж очень долго ждать результат. Обычно для количества потоков от ста и выше делают минут 5.

loop count обычно делают бесконечным - зато добавляют таймеры.

Как считать значение таймеров и количество потоков - шикарно описал Слава Смирнов вот тут:

https://loadtestweb.info/2017/08/23/pacing/

2) нет, вы можете в один «скрипт» засунуть уелый бизнес-кейс, состоящий из огромного количества запросов.

Запросы эти можно записать автоматически просто выполнив действия в браузере.

В одном запуске джиметра может быть много тред-групп (разных бизнес-кейсов), каждый из которых работает со своей интенсивностью.

Как понять какую нагрузку выдерживает сервер:

Обычно нагрузку наращивают и следят за производительностью и временами отклика.

Когда времена отклика вырастают больше порогового значения или производительность перестаёт расти (например, из-за ошибок) - это и есть максимальная производительность системы.

А какая нужна длительность теста - зависит от системы. Тест должен быть минимальной длинны, но чтобы при этом он верно отображал поведение системы.

Обычно от 20 минут до нескольких часов

с вашими цифрами на моём сайт получился вот такой график ))

  1. что означает "No of samples"?

  2. я правильно понимаю, что Deviation (красное), должно быть (в идеале) близко к Average (синему)?

  3. Throughput 72 запроса в минуту - это значит, что если будет больше, то серверу будет всё хуже? это можно в юзеров перевести? ну например: если каждый юзер просматривает 3-5 страниц, то 72 запроса это примерно 10-20 юзеров в минуту, так?

  4. как узнать, какая нагрузка уже является критической для сервера?

Эти графики у джиметра очень убогие :(

Если хотите простой путь - добавьте jmeter plugin manager и через него поставьте плагин «3 basic graphs», они ещё хоть как-то показывают результаты.

Если хотите тестировать систему больше одного раза - имеет смысл настроить influx и grafana

Вот тут видос как это сделать

https://www.youtube.com/live/MoEEBwBsJTU?feature=share

А вообще, если интересуетесь нагрузкой- приходите к нам в канал по нагрузке в телеге, поможем-расскажем.

Вопросы у вас хорошие :)

https://t.me/qa_load

Зарегистрируйтесь на Хабре, чтобы оставить комментарий