24
Создание тест-плана jmeter – от расчета цепочек до нагрузочного кластера на 5-10 млн. хитов Сербул Александр Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс

Создание тест-плана jmeter – от расчета цепочек до нагрузочного кластера на 5-10 млн. хитов

Embed Size (px)

DESCRIPTION

Создание тест-плана jmeter – от расчета цепочек до нагрузочного кластера на 5-10 млн. хитов. Сербул Александр Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс. Учимся считать нагрузку. - PowerPoint PPT Presentation

Citation preview

Page 1: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Создание тест-плана jmeter – от расчета цепочек до нагрузочного кластера

на 5-10 млн. хитовСербул Александр

Руководитель направления контроля качества интеграции и внедрений

1С-Битрикс

Page 2: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Учимся считать нагрузкуНужно проверить, что веб-проект выдержит нагрузку … в чем она, нагрузка, измеряется?

Уникальные посетители в сутки?Хиты к динамике в суткиХиты к статике в сутки

Производительность APIЭкспорты/импорты данных

Page 3: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Пик и общая посещаемость за сутки

За сутки – 1,5 млн. хитов к динамике (по логам)

Среднее в секунду:1,5 млн./86400 = 17

Но на графике в пике видим – 34 запросов/сек

Готовимся к пикам выше среднего – в 2-3 раза. Точнее – смотрим на графиках.

Page 4: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Система работает в штатном режиме?

Не перегружена ли текущая веб-система?

Число ошибок и таймаутов в логах

Перегруженная текущая веб-система может «отбрасывать» запросы

Page 5: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Пользователи и хитыНередко 1 пользователь ~ 10 хитов

Смотрите данные модуля «Веб-аналитика» или данные внешних источников

Можно «прикинуть» ожидаемое число сотрудников компании

Хитов к статике – часто на порядок больше

Page 6: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Цепочки

Куда будут ходить пользователи/сотрудники? Берем из аналитики или предполагаем.

1.1 Главная1.2 Список новостей1.3 Детальная новости1.4 Поиск по сайту1.5 Форум

2.1 Детальная каталога2.2 Авторизация2.3 Корзина2.4 Мастер заказа2.5 Личный кабинет

Page 7: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Цепочки - распределение

Распределяем потоки виртуальных пользователей по цепочкам:

70% - Главная20% - Каталог – Корзина – Мастер заказа5% - Результаты поиска – Описание товара – Корзина5% - Новости – Новость детально

Page 8: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Цепочки – важные моменты

Клиенты должны уметь авторизовываться.

Логины, пароли, Идшники элементов, поисковые слова – лучше сделать разными (из файлов).

Рандомные паузы между хитами.

Загрузить тестовый контент – в каталог, форум и т.п.!

Page 9: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Цепочки – расчетСколько хитов в данной цепочке клиент сделает за сутки?

1.1 ГлавнаяПауза ~ 30 сек1.2 Список новостейПауза ~ 30 сек1.3 Детальная новостиПауза ~ 30 сек1.4 Поиск по сайтуПауза ~ 30 сек-> в начало

Примерно 86400/30 ~ 3к хитов

Подбираем число нагрузочных потоков (вирт. пользователей) в каждой цепочке для получения, допустим, суммарно:5 млн. хитов с сутки

Page 10: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Настройка числа нагруз. потоков

Page 11: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Структура запроса в цепочке

Page 12: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Настройка рандомной паузы

Page 13: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Рандомные страницы

Page 14: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Очистка cookies в конце цепочки

Page 15: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Временные данные – в CSV файлы

Логины/паролиПоисковые фразыИД элементов каталога

Page 16: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Работа с переменными

Page 17: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Работа с переменными

Page 18: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Глобальные переменные

Page 19: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Глобальные переменные

Page 20: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Авторизация

Page 21: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Распределенное тестирование

Читаем мануал: http://jmeter.apache.org/usermanual/remote-test.html

- Централизованное распределение тест-плана по кластеру- Сбор информации с кластера в один лог

Запускаем серверы:JMETER_HOME/bin/jmeter-server

На клиенте “/bin/jmeter.properties”:remote_hosts=127.0.0.1:60001, 127.0.0.1:60002, 127.0.0.1:60003

Page 22: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Распределенное тестирование

jmeter -n -t script.jmx -R server1,server2...

Page 23: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Распределенное тестирование1) Создаем нагрузочный кластер из нод JMeter2) Управляем им централизованно из консоли или GUI3) Собираем результаты теста в единый лог-файл для дальшейшего анализа

Пропускная способность сети?

Можно создать ОЧЕНЬ большую нагрузку в десятки миллионов хитов в сутки!

Page 24: Создание тест-плана  jmeter  –  от расчета  цепочек до нагрузочного кластера на  5-10  млн. хитов

Спасибо за внимание! Вопросы?Александр Сербул[email protected] AlexSerbul