понедельник, 3 октября 2011 г.

Нагрузочное тестирование веб-проекта

Зачем это нужно? Вроде неплохо описано тут:
http://habrahabr.ru/blogs/testing/106493/

Performance vs. load vs. stress testing

Совсем простой метод:
time wget -O /dev/null "http://site.ru/index.php"
Показывает скорость получения страницы, без статики.
Можно запустить в N потоков.
Впрочем, есть curl-loader

Более наглядный вариант - через плагин к FF - webdeveloper. Можно посмотреть скорость загрузки каждого элемента, но нагрузочное тестирование этим не провести.

Чуть более действенный метод через ab, но загружать будет только 1 страницу.
ab -n 1000 -c 100 — чтобы быть уверенным, что сайт не уйдет в даун после нагрузки
ab -n 1000 -c 2 — чтобы оценить, какой наплыв посетителей он способен выдержать

Есть ещё siege

pylot
Нечто среднее между jmeter и ab. Но правила там задаются в xml-файле, так что без быстрого старта его сложно освоить. Сейчас он перерос в multi-mechanize, но новый проект гораздо сложнее в освоении.
Плюсы - он на питоне. Минус - с наскока его всё-таки не освоить.

Перейдём к jmeter - мощной программе, но весьма сложной в освоении. Увы, на яве.
Простой нагрузочный тест с Apache JMeter
Рецепт нагрузочного тестирования на JMeter
Быстрое создание нагрузочных тестов на JMeter для web-сайтов
Отладка тест-плана JMeter

Видео
Видео с HighLoad++: Юрий Ковалев — Нагрузочное тестирование без границ

Комментариев нет:

Отправить комментарий