Нагрузочное Тестирование «Быстро»

Возможно, кого-то заинтересует, как «быстро» провести нагрузочное тестирование своего веб-приложения.

Подробности под катом



Вместо предисловия

На сегодняшнем стендапе Марек (программист из Польши, участвующий в проекте ЭмФордж ) сказал, что разговаривал с рядом друзей, имевших большой опыт работы с LifeRay (которым мы активно пользуемся) — и опыт оказался весьма негативным, в первую очередь из-за проблем со скоростью.

Некоторые проекты были по глупости закрыты из-за того, что эти проблемы невозможно было решить.

Нет — мы, конечно, собирались провести нагрузочное тестирование, но не сейчас, чуть позже, когда функционала будет больше, и тогда чисто для того, чтобы убедиться, что всё ок, или «не ок» в каких-то определённых местах — и исправить их.

Но тут возник вопрос: если все так плохо, то какие-то решения надо принимать сейчас – пока не поздно.

Вывод один – нагрузочное тестирование получает более высокий приоритет по сравнению с другими задачами.



Не «быстро»

Изначально планировалось пойти стандартным путем – взять JMeter , для начала написать простой скрипт обхода главных страниц с основным функционалом анонимного пользователя - потом понемногу улучшать его, попутно решая вопросы, как грамотно запустить это добро на нескольких клиентских машинах.

В общем задача не на один час

Как насчет быстрого?

Но тут я вспомнил, что была статья на Хабре (к сожалению, статью не нашел - ссылку бы выложил), где человек жаловался, что люди не проводят нагрузочное тестирование на своем сайте, они присылают ссылку на Хабр, а потом, когда нужно снять «сливки» «Мучительно сайт поднимать с Хабраэффекта (а пользователи не видят ничего, кроме сообщений об ошибках).

Итак, кто-то там порекомендовал несколько сервисов, которые проводят такое нагрузочное тестирование.

В общем, самая полезная ссылка на тему нагрузочного тестирования была этот — здесь перечислены такие утилиты, как JMeter и сервисы для организации тестирования.

На первых трёх остановлюсь немного подробнее.



Действительно быстро?

Чтобы быть очень быстрым, это Влияние нагрузки - регистрация не требуется - заходите, дайте URL - и уже через 10-15 минут 50 виртуальных пользователей терроризируют вашу страницу.

Глупо, просто — но, по крайней мере, это позволит вам увидеть, что при первом же наплыве ваше приложение не подведет. Не лег спать? Вперед, продолжать

Нагрузочное тестирование за 1,5 часа

мне действительно это понравилось Лоадшторм .

Работа с ним строится следующим образом: 1. зарегистрироваться 2. Создаем тест - в котором указываем сайт, который будем мучить 3. Прежде чем приступить к пыткам, необходима верификация (а вдруг вы захотите установить сайт конкурента????).

вам нужно поместить на главную страницу определённый текст с кодом - или файл с определённым именем в корне 4. Далее создаем сценарий — при создании сценария мы описываем, как пользователь перемещается по вашему сайту, по каким ссылкам он переходит, и вы можете отправлять формы.

Все достаточно интуитивно и понятно 5. затем говорим, когда запускать 6. В назначенное время стартует тест, подождите 30 минут, пока по вашему сайту по вашим инструкциям прогуляется до 50 пользователей - и получите отчет. Да, 50 одновременных пользователей - это не совсем серьезно - это даже близко не хабро-эффект - но это уже что-то.

Если нужно больше, есть платная подписка (да, забыл сказать, что все бесплатно).

В моем случае 50 одновременных пользователей — это нагрузка, о которой я даже не могу мечтать в ближайшие несколько месяцев, так что мне этого хватило.

В общем, на описание сценария из 15 последовательных страниц ушло около полутора часов, дождаться запуска теста и дождаться самих результатов, в результате я получил графики типа

Нагрузочное тестирование «быстро»

На этом графике видно, как мучалась система - в моем случае было максимум 47 пользователей - и чуть больше 3 запросов в секунду Ну и самое интересное

Нагрузочное тестирование «быстро»

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

Понятно, что такое тестирование не совсем «серьёзно» по получаемым результатам, и 50 одновременных пользователей серьёзной нагрузкой назвать нельзя, но, учитывая затраченное время (полтора часа) и деньги (0 рублей), то результат вполне адекватный.

По крайней мере, мы убеждены, что если и возникнут проблемы с производительностью, то в ближайшие месяцы мы их все равно не увидим.



Немного дольше и дороже

Если вы хотите чего-то более серьезного, вы можете попробовать.

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

В любом случае посмотрите - может пригодится На этом всё, удачи, счастливых хаброэффектов! Теги: #нагрузочное тестирование #Высокая производительность

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.