MyWackoSite: NsuTs/loadTesting ...

Home Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  

Нагрузочное тестирование NSUts

Задача

Исследуемая нагрузка: тренировка – 50, интернет тур олимпиады – 500–1000 человек
Интересные сценарии: 1. Регистрация пользователей 2. Посылка решений 3. Перетестирование, просмотр очереди, рейтинга
Описание нагрузочных тестов системы NSUts
Тесты jmeter в svn-репозитории: svn+ssh://parallels.nsu.ru/home2/svn/olympic/trunk/tests/jmeter

Имеются следующие тесты:

Результаты

Исходные условия тестов: нагрузочное тестирование производилось как на одной, так и на нескольких машинах. Для тестирования использовалась система nsuts-1.2.7 на сервере olympic.nsu.ru с тестовой базой данных.

  1. Тест «Регистрация новых пользователей»:
    • Условия теста: вход на страницу регистрации, заполнение и отправка введенных данных, вход в систему.
    • Количесво пользователей: 1000
    • Задержка между итерациями: 1000ms
    • Результаты: ошибок сервера не обнаружено, скорость высокая;
    • Плохие показатели: отсутсвуют.
  2. Тест «Навигация пользователей по системе»:
    • Условия теста: последовательная авторизация пользователей, каждый из которых непрерывно открывает доступные вкладки.
    • Количесво пользователей: 1000
    • Задержка между итерациями: 2000ms
    • Показания: выделено памяти ~6000M; Average при max-нагрузке ~2500ms;
    • Плохие показатели: низкая скорость веб-интерфейса (!), страница «Участники».
  3. Тест «Отправка решений и просмотр рейтинга»:
    • Условия теста: условия теста 2 + отправка решений.
    • Количесво пользователей: 500
    • Задержка между итерациями: 3000ms
    • Результаты: ошибок сервера не обнаружено, скорость средняя;
    • Плохие показатели: страница «Участники».
  4. Тест «Навигация администратора по системе, перетестирование»:
    • Условия теста: условия теста 2 и 3 + вход администратора в систему, выполнение перетестирования решений, просмотр очереди и рейтинга.
    • Количесво пользователей: 500
    • Задержка между итерациями: 3000ms
    • Результаты: см. тест 3;
    • Плохие показатели: страница «Участники».

Внесенные изменения после исследований

Apache

Mysql

Параметры контейнера
2048576:40480000

Работа с JMeter

Установка JMeter

  1. Скачиваем архив с официального сайта: http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi
  2. Извлекаем архив, запускаем файл bin/jmeter.bat

Запуск тестов JMeter

  1. Настраиваем базовые параметры теста (Thread Group):
    • Number of Threads (users) – количество виртуальных пользователей (потоков)
    • Ramp-Up Period (in seconds) – общее время равномерного распределения старта потоков
  2. Добавляем HTTP Cookie Manager – работа с сессиями через cookie
  3. Создаем сценарий теста при помощи элемента HTTP Proxy Server:
    • добавляем элемент HTTP Proxy Server в Work Bench (Work Bench -> Add -> Non-Test Elements -> HTTP Proxy Server)
    • добавляем элемент Recording Controller для записи последовательности действий теста (Thread Group -> Add -> Logic Controller -> Recording Controller)
    • запускаем прокси сервер на свободном порту (по умолчанию 8080)
    • запускаем браузер с нужным прокси (по умолчанию: localhost, port 8080) и ходим по сайту
  4. Добавляем элементы мониторинга (Thread Group->Add->Listener):
    • View Results in Table
    • Graph Results
    • Aggregate Report
    • Summary Report
  5. Запуск теста: Run->Clear All && Run->Start.

Интересующие параметры


Полезные ссылки

http://ru.wikipedia.org/wiki/Нагрузочное_тестирование
мануал
Статьи на хабре:
Простой нагрузочный тест с Apache JMeter
Рецепт нагрузочного тестирования на JMeter
Быстрое создание нагрузочных тестов на JMeter для web-сайтов
Отладка тест-плана JMeter

 
Файлы [Скрыть файлы/форму]
Комментариев нет. [Показать комментарии/форму]