автор: sunnybear
Проверяем отказоустойчивость сайта
Итак, поехали.
Речь пойдет об использовании сервиса Load Impact. Для начала нам нужно завести сам тест.
Создание теста
Запись действий (Proxy recorder) доступна в
Advanced mode -> Load script generation -> Record session
. Здесь можно задать набор HTTP-запросов для эмуляции любых посещений вашего сайта и любого количества одновременных посетителей. Очень удобный инструмент. Для его использования нужно только задать соответствующие настройки в вашем браузере.По поводу настроек.
При использовании прокси становится возможным тестирование всех динамических и AJAX-запросов: входе посещения сайта они просто записываются, и затем становятся доступными в соответствующем поле при создании теста…
Наконец, последний этап в формировании теста — это выбор пределов по пользователям и шага возрастания нагрузки.
Для простого тестирования отказоустойчивости сайта можно задать предел в районе 500-1000 пользователей с шагом 100. Это даст вполне вменяемую картину поведения сайта под нагрузкой, но сильно сократит как время тестирования, так и лимиты по трафику.
В случаее необходимости детальной картины придется задать шаг в 10-20 пользователей. Это гарантирует, что тестирование пройдет максимально точно и что вы получите правдивую оценку мощности сайта.
После того как все параметры заданы, можно подтвердить тест (для пользователей меньше 500 — обычная формальная, потом будет необходимо наличие файла loadimpact.txt с вашим логином в корне сайта). Также при сохранении настроек производится пробный запуск, чтобы понять, все ли задано верно.
Запускаем тест
Теперь самое интересное. После того как мы потратили несколько (десятков) минут, что настроить тест, пора его и запустить. Само тестирование может занять до нескольких часов (если много шагов), и вообще его лучше проводить в период наименьшей пользовательской активности (например, ночью). После окончания теста вы получите много сводных графиков, давайте на них посмотрим.
Время ответа сервера отражает серверные издержки на создание HTML-документа при соответствующем числе одновременных посещений сайта. Критической здесь будет точка в 10-15 секунд, когда до 80% пользователей начнут просто уходить с сайта, не дожидаясь его загрузки. Также при соответвующих настройках сервера могут начать выдаваться ошибки истечения времени ожидания (nginx, например).
Для хороших сайтов график отказоустойчивости напоминает экспоненту (как на примере выше), которая пересекает значение в 10 секунд в 3-5 раза дальше, чем текущая пиковая нагрузка. Это означает, что при резком увеличении числа посетителей, ваш сайт, в принципе, нагрузку выдержит.
Хуже обстоит дело, если график резко идет вверх даже при увеличении числа посетителей в 2 раза (или даже при текущем пиковом значении). В этом случае нужно предпринимать оптимизирующие действия, и срочно.
Но совсем хорошо, когда при любой (тестируемой) нагрузке график будет прямой (с небольшими отклонениями). Это значит, что запас по прочности у сайта очень и оень хороший.
Резюме
Load Impact является уникальным инструментом для проведения нагрузочного тестирования, и при этом позволяет самостоятельно задавать любые сценарии пользовательского поведения и проверять, насколько сайт к ним готов. При этом большая часть информации доступна бесплатно при проведении теста до 50 пользователей.
Надеюсь, эта статья поможет подготовить ваши сайты к новогоднему буму :)
Комментариев нет:
Отправить комментарий