Upload
pvasili
View
1.610
Download
7
Embed Size (px)
DESCRIPTION
Иван КинашНагрузочное тестирование проектов на Drupal с использованием Apache JMeter
Citation preview
Нагрузочное тестирование проектов на Drupal с
использованием Apache JMeter
Иван Кинаш[email protected]
План доклада
● Кому и зачем нужны тесты на производительность
● В каких "попугаях" измерять производительность ресурса
● Кратко о JMeter и особенности его использования при тестировании Drupal-проектов
● Реальный тестовый сценарий за 5 минут
Кому и зачем нужны тесты на производительность ?
Заказчик
○ Сравнить решения от различных поставщиков и выбрать оптимальный вариант
○ Сформировать требования к аппаратно-программному обеспечению с учетом текущей/ планируемой нагрузки
○ Спланировать бюджет
○ Произвести тестирование продукта на выбранной конфигурации
Кому и зачем нужны тесты на производительность ?
Маркетолог
○ Использовать метрики производительности в коммерческих предложениях
○ Публикация результатов тестирования производительности продукта на новых платформах
○ Продемонстрировать в количественных характеристиках преимущества продукта перед продуктом конкурента
Кому и зачем нужны тесты на производительность ?
Разработчик + Тестировщик
○ Выявить проблемы с производительностью до их появления у Заказчика
○ Знать слабые и сильные стороны своего приложения
○ Оценить результат проведенной оптимизации
○ Провести тесты на регрессию после выхода новой версии
В каких "попугаях" измерять производительность ?
Метрики производительности
● Количество запросов в секунду ● Время отклика сервера ● Количество одновременно работающих пользователей ● Потребление аппаратных ресурсов сервера
С чего начать ?
1. Составить сценарии работы пользователей2. Выбрать инструмент для тестирования 3. Подготовить тестовую площадку4. Создать нагрузку и снять необходимые метрики5. Сделать выводы :)
Open-Source инструменты для тестирования производительность Web-приложений
Httperf - мощное оружие для стрельбы по площадям
Open-Source инструменты для тестирования производительность Web-приложений
● Написан на Java● Очень универсальный и расширяемый● Множество плагинов● Возможность распределенного тестирования● Богатый по возможностям встроенный модуль для http
Open-Source инструменты для тестирования производительность Web-приложений
● Написан на Java● Удобный графический интерфейс для построения
сценариев● Большой выбор встроенных модулей ● Возможность распределенного тестирования
Apache JMeter - Основные блоки
● Test plan● Thread group● Controllers & Config Elements● Samplers● Listeners● Timers● Assertions● Pre-Processor Elements● Post-Processor Elements
Apache JMeter + Drupal
Демонстрация
Создание тестового сценария работы анонимного пользователя
Создание тестового сценария работы зарегистрированного пользователя
Apache JMeter + Drupal
● Не забывайте про Http Cookie Manager
● Для получения переменных формы используйте XPathExtractor - //input[@name='form_token']/@value
● Для массовой генерации данных удобно использовать возможности модуля Devel
● Поставьте модуль Performance Logging and Monitoring
Полезные ссылки
Apache JMeter http://jmeter.apache.org/Grinder http://grinder.sourceforge.net/
Примеры тестовых сценариев для Drupal https://github.com/jolos/drupal-jmeter
Performance Monitoring http://drupal.org/project/performance
Licel LLC https://licel.ru