'

Нагрузочное тестирование с помощью Grinder

Понравилась презентация – покажи это...





Слайд 0

Нагрузочное тестирование с помощью Grinder Илья Евлампиев “Exigen Services”


Слайд 1

Нагрузочное тестирование… определение того, как быстро работает система при определенной нагрузке. Позволяет также определить такие параметры системы как расширяемость и надежность. Вкратце, это: Имитация реальной нагрузки на систему Выполнение тестов Анализ результатов


Слайд 2

Цели нагрузочного тестирования Недопущение «падения» системы Обойтись без излишних затрат на «железо» Снизить стоимость продукта Облегчить обслуживание Продемонстрировать заказчику, что система удовлетворяет требованиям


Слайд 3

Стратегии нагрузочного тестирования Поиск «узкого горла» Оптимизация Сравнение альтернативных вариантов Определение максимального объема данных Чистый интерес


Слайд 4

Типы нагрузочного тестирования Нагрузочное тестирование (load testing) Тестирование отказоустойчивости (failover testing) Стресс-тестирование (stress testing) Целевые испытания (targeted infrastructure test) Объемное тестирование (volume testing) Тестирование стабильности (endurance testing) Тестирование производительности (performance testing) Тестирование пропускной способности сети (network sensitivity testing)


Слайд 5

Словарь Vuser – виртуальный пользователь Load generator (agent) – генератор нагрузки Process - процесс Thread - поток Run - прогон Ramp-up – «разброс» Load controller – контроллер нагрузки


Слайд 6

Схема


Слайд 7

Метрики Времена отклика + Построение графиков производительности + Пропускная способность + Надежность (MTBF - Mean Time Between Failures) Доступность (какой процент времени сервис лежал) Загрузка процессора Загрузка памяти Сетевой траффик + Особые показатели сервера приложений Особые показатели сервера баз данных Запросы в секунду +


Слайд 8

Что нужно знать о каждой метрике? Среднее значение Разброс Максимальное и минимальное достигнутое значение Перцентиль (уложившиеся около среднего 90% результатов) Все распределение Упавшие запросы (процент)


Слайд 9

The Grinder 100% Java (любая ОС с поддержкой J2SE) Протоколы HTTP, HTTPS (out of the box) SOAP, XML-RPC IIOP, RMI/IIOP, RMI/JRMP, and JMS. POP3, SMTP, FTP, and LDAP. Базы данных – JDBC Скрипт на Jython / Автозапись HTTP GrinderStone for Eclipse - дебаггинг Бесплатный ?


Слайд 10

The Grinder: Настройка среды Java (JVM) Jython (add to PATH) Add external JARs to Grinder /lib/


Слайд 11

Схема нагрузочного тестирования


Слайд 12

The Grider: Property File


Слайд 13

The Grider: Property File grinder.processes grinder.threads grinder.runs grinder.processIncrement grinder.processIncrementInterval grinder.initialProcesses grinder.duration grinder.script grinder.initialSleepTime grinder.sleepTimeVariation grinder.sleepTimeFactor


Слайд 14

The Grinder: UI


Слайд 15

Workflow: Запись скрипта


Слайд 16

Пример скрипта


Слайд 17

Jython “an implementation of the Python programming language written in Java” Python Syntax + ability to use Java classes Python написанный на Java, т.е. с возможностью использовать синтаксис Python и библиотеки Java


Слайд 18

Содержимое скрипта Импорт Java библиотек Определение переменных (HTTP headers/connection settings) Определение прокси-объектов для Test Группировка отдельных тестов в функции Test group Вызов каждой тестовой функции из главной функции __call__(self)


Слайд 19

Пример лог файла


Слайд 20

Grinder Analyzer Специальный питоновский скрипт для анализа логов, записанных с помощью Grinder HTTP Plugin необходима установка Jython/Python


Слайд 21

Пример отчета


Слайд 22

Пример отчета


Слайд 23

Пример отчета


Слайд 24

Вопросы? End


×

HTML:





Ссылка: