Выполнить нагрузочный тест для веб-приложения и сервера RoR 2.1 - PullRequest
1 голос
/ 30 декабря 2011

У меня есть веб-приложение на RoR 2.1 и серверная часть MySQL, работающее с примерно 8 000 пользователей, и теперь я хочу сделать Load Test для моего веб-приложения и сервера, чтобы выяснить load on the server and the average and peak number of concurrent users.

Каковы способы реализации этого нагрузочного теста для анализа нагрузки на сервер и производительности веб-приложения с возможностью определения среднего и пикового числа одновременных пользователей?

1 Ответ

2 голосов
/ 30 декабря 2011

Я использую ab (тесты apache http://httpd.apache.org/docs/2.0/programs/ab.html) для нагрузочных тестов. Пример тестирования на google.com:

ab -n 10000 -c 100 http://google.com/

Это позволяет мне узнать, сколько запросов в секунду может выполнить моя установка (приложение), а также уровень параллелизма.

Инструмент ab является частью пакета Apache httpd в дистрибутивах CentOS и Red Hat. Так что, вероятно, там уже установлено. Для Ubuntu / Debian установите пакет apache2-utils.

ab --help for full options list

Наиболее важными являются:

-n requests     Number of requests to perform
-c concurrency  Number of multiple requests to make

Также я отслеживаю пики активности с помощью munin (http://httpd.apache.org/docs/2.0/programs/ab.html) и плагинов для nginx / passenger / unicorn / CPU / Memory в зависимости от конфигурации, а также плагин для MySQL, который показывает общее количество запросов в секунду и многие другие данные.

Вы можете установить munin с помощью соответствующего руководства для вашего Linux RH с этой страницы http://munin -monitoring.org / wiki / LinuxInstallation .

Вот также довольно хорошая статья о мониторинге мунинов и монгрел: http://onrails.org/2007/08/31/monitoring-rails-performance-with-munin-and-a-mongrel

Вы можете подобрать плагины для мониторинга apache (и не только) с http://exchange.munin -monitoring.org .

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

...