Tsung — это распределенная система нагрузочного тестирования, написанная на Erlang'е. Заявлена поддержка HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and XMPP/Jabber. В этой статье я опишу как протестировать обычный web сайт на нагрузку.
Во первых это приложение бесплатно. Во вторых приложение написано на Erlang'e, что дает ему преимущество перед другими продуктами, в способности симулировать огромное количество одновременных запросов.
Для установки вам потребуется Linux дистрибутив, я использовал debian. Необходимо проделать следующую последовательность действий:
Вот и все установка завершена!
Сессию можно создавать вручную, но есть более простой способ — использовать прокси tsung'а для записи ваших действий на сайте. Для этого нужно только прописать в настройках вашего браузера ip сервера где установлен tsung и порт 8090. Далее необходимо выполнить команду tsung-recorder start побродить по сайту, сэмулировать поведение обычного посетителя. Чтобы остановить запись tsung-recorder stop. После этого сгенерированная последовательность появится в ~/.tsung/tsung_recorderyyyymmdd-HH:MM.xml. Далее неоходимо просто скопировать эту сессию в основной файл tsung.xml.
Вот наконец когда проделаны все подготовительные действия можно и запустить наш тест. Для этого необходимо ввести команду tsung start , для остановки соответственно tsung stop. Tsung будет записывать log в каталог ~/.tsung/log/yyyymmdd-HH:MM. Очень важный момент при масштабных тестах, перед запуском установить значение ulimit больше стандартного в моем случае 1024, ulimit -n 100000. Для просмотра статуса о количестве юзеров на сайте, можно использовать команду tsung status. Сгенерированный лог помещается в каталог .tsung/log/yyyymmdd-HH:MM.
Для генерации отчетов используется скрипт на perl идущий вместе с программой — tsung_stats.pl. Скрипт необходимо запускать из директории с логом, командой perl tsung_stats.pl. После чего сгенерируется замечательный html отчет и диаграммы.
Tsung предоставляет статистику:
Вот пример одной из диаграмм (количество юзеров на сайте, и количество сгенерированных юзеров):

Больше диаграмм на сайте разработчиков
Руководство Tsung
Почему Tsung
Во первых это приложение бесплатно. Во вторых приложение написано на Erlang'e, что дает ему преимущество перед другими продуктами, в способности симулировать огромное количество одновременных запросов.
Установка
Для установки вам потребуется Linux дистрибутив, я использовал debian. Необходимо проделать следующую последовательность действий:
- apt-get install erlang
- apt-get install gnuplot-nox libtemplate-perl libhtml-template-perl libhtml-template-expr-perl
- Скачать последнюю версию tsung-1.4.1.tar.gz
- Распаковать tar -zxvf tsung-1.4.1 .tar.gz
- Установить ./configure && make && make install
- Также необходимо создать каталог с именем .tsung в root директории и конфигурационный файл tsung.xml внутри него (подробнее о нем ниже)
Вот и все установка завершена!
Автоматическая генерация сессии
Сессию можно создавать вручную, но есть более простой способ — использовать прокси tsung'а для записи ваших действий на сайте. Для этого нужно только прописать в настройках вашего браузера ip сервера где установлен tsung и порт 8090. Далее необходимо выполнить команду tsung-recorder start побродить по сайту, сэмулировать поведение обычного посетителя. Чтобы остановить запись tsung-recorder stop. После этого сгенерированная последовательность появится в ~/.tsung/tsung_recorderyyyymmdd-HH:MM.xml. Далее неоходимо просто скопировать эту сессию в основной файл tsung.xml.
Запуск
Вот наконец когда проделаны все подготовительные действия можно и запустить наш тест. Для этого необходимо ввести команду tsung start , для остановки соответственно tsung stop. Tsung будет записывать log в каталог ~/.tsung/log/yyyymmdd-HH:MM. Очень важный момент при масштабных тестах, перед запуском установить значение ulimit больше стандартного в моем случае 1024, ulimit -n 100000. Для просмотра статуса о количестве юзеров на сайте, можно использовать команду tsung status. Сгенерированный лог помещается в каталог .tsung/log/yyyymmdd-HH:MM.
Генерация отчета и диаграмм
Для генерации отчетов используется скрипт на perl идущий вместе с программой — tsung_stats.pl. Скрипт необходимо запускать из директории с логом, командой perl tsung_stats.pl. После чего сгенерируется замечательный html отчет и диаграммы.
Tsung предоставляет статистику:
- Производительность: время ответа, время присоединения, транзакции, запросы в секунду
- Ошибки: статистика по возвращенным ошибкам
- Поведение сервера: График занятости CPU и памяти, сети. SNMP
Вот пример одной из диаграмм (количество юзеров на сайте, и количество сгенерированных юзеров):

Больше диаграмм на сайте разработчиков
Источники:
Руководство Tsung
