Нагрузочное тестирование NSUts
Задача
Тренировка – 50
Интернет тур олимпиады – 5
00–1000 человек
Интересные сценарии:
- Регистрация пользователей
- Посылка решений
- Перетестирование, просмотр очереди, рейтинга
Полезные ссылки
http://ru.wikipedia.org/wiki/Нагрузочное_тестирование
Инструменты для тестирования
- Одновременный запуск уже написанных Selenium скриптов
...
- JMeter
мануал
Статьи на хабре:
Простой нагрузочный тест с Apache JMeter
Рецепт нагрузочного тестирования на JMeter
Быстрое создание нагрузочных тестов на JMeter для web-сайтов
Отладка тест-плана JMeter
Описание используемых в системе NSUts тестов:
http://parallels.nsu.ru/WackoWiki/NsuTs/Documentation/devguide/testing
Внесенные изменения
Apache
- Mode: worker
- Max Clients? = 500
- Min Spare Threads? = 25
- Max Spare Threads? = 150
- Threads Per Child? = 50
Mysql
- max_connections = 800 (default = 151)
- thread_cache_size = 8
- table_cache = 256
- innodb_buffer_pool_size = 256M
- join_buffer_size = 16777216 (16M)
- wait_timeout = 20000
- interactive_timeout = 20000
Параметры контейнера
- Num Other Sock? =360:360
- Priv Vm Pages?=1048576:20480000
- Num Proc? = 480:480
Результаты
- Тест «Регистрация новых пользователей»:
- Условия теста: вход на страницу регистрации, заполнение и отправка введенных данных, вход в систему.
- Количесво пользователей: 1000
- Задержка между итерациями: 1000ms
- Показания: выделено памяти ~M; Average при max-нагрузке ~ms;
- Плохие показатели: страница «Участники».
- Тест «Навигация пользователей по системе»:
- Условия теста: последовательная авторизация пользователей, каждый из которых непрерывно открывает доступные вкладки.
- Количесво пользователей: 1000
- Задержка между итерациями: 2000ms
- Показания: выделено памяти ~6000M; Average при max-нагрузке ~2500ms (?);
- Плохие показатели: неудовлетворительная скорость веб-интерфейса (!), страница «Участники».
- Тест «Отправка решений и просмотр рейтинга»:
- Условия теста: условия теста 2 + отправка решений.
- Количесво пользователей: 100
- Задержка между итерациями: 2000ms
- Показания: выделено памяти ~1500M; Average при max-нагрузке ~950ms;
- Плохие показатели: страница «Участники».
- Тест «Навигация администратора по системе, перетестирование»:
*
Условия теста: условия теста 2 и 3 + вход администратора в систему, выполнение перетестирования решений, просмотр очереди и рейтинга.
- Количесво пользователей: 1000
- Задержка между итерациями: 2000ms
- Показания: выделено памяти ~M; Average при max-нагрузке ~ms;
- Плохие показатели: страница «Участники».
TODO: осуществить нагрузочное тестирование на jmeter с нескольких машин.