Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 14 лет назад пользователемkazanqacomm
1 Нагрузочное тестирование с помощью Grinder Илья Евлампиев Exigen Services
2 Нагрузочное тестирование… определение того, как быстро работает система при определенной нагрузке. Позволяет также определить такие параметры системы как расширяемость и надежность. Вкратце, это: Имитация реальной нагрузки на систему Выполнение тестов Анализ результатов
3 Цели нагрузочного тестирования Недопущение «падения» системы Обойтись без излишних затрат на «железо» Снизить стоимость продукта Облегчить обслуживание Продемонстрировать заказчику, что система удовлетворяет требованиям
4 Стратегии нагрузочного тестирования Поиск «узкого горла» Оптимизация Сравнение альтернативных вариантов Определение максимального объема данных Чистый интерес
5 Типы нагрузочного тестирования Нагрузочное тестирование (load testing) Тестирование отказоустойчивости (failover testing) Стресс-тестирование (stress testing) Целевые испытания (targeted infrastructure test) Объемное тестирование (volume testing) Тестирование стабильности (endurance testing) Тестирование производительности (performance testing) Тестирование пропускной способности сети (network sensitivity testing)
6 Словарь Vuser – виртуальный пользователь Load generator (agent) – генератор нагрузки Process - процесс Thread - поток Run - прогон Ramp-up – «разброс» Load controller – контроллер нагрузки
7 Схема
8 Метрики Времена отклика + Построение графиков производительности + Пропускная способность + Надежность (MTBF - Mean Time Between Failures) Доступность (какой процент времени сервис лежал) Загрузка процессора Загрузка памяти Сетевой траффик + Особые показатели сервера приложений Особые показатели сервера баз данных Запросы в секунду +
9 Что нужно знать о каждой метрике? Среднее значение Разброс Максимальное и минимальное достигнутое значение Перцентиль (уложившиеся около среднего 90% результатов) Все распределение Упавшие запросы (процент)
10 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 - дебаггинг Бесплатный
11 The Grinder: Настройка среды Java (JVM) Jython (add to PATH) Add external JARs to Grinder /lib/
12 Схема нагрузочного тестирования
13 The Grider: Property File
14 grinder.processes grinder.threads grinder.runs grinder.processIncrement grinder.processIncrementInterval grinder.initialProcesses grinder.duration grinder.script grinder.initialSleepTime grinder.sleepTimeVariation grinder.sleepTimeFactor
15 The Grinder: UI
16 Workflow: Запись скрипта
17 Пример скрипта
18 Jython an implementation of the Python programming language written in JavaPython programming languageJava Python Syntax + ability to use Java classes Python написанный на Java, т.е. с возможностью использовать синтаксис Python и библиотеки Java
19 Содержимое скрипта Импорт Java библиотек Определение переменных (HTTP headers/connection settings) Определение прокси-объектов для Test Группировка отдельных тестов в функции Test group Вызов каждой тестовой функции из главной функции __call__(self)
20 Пример лог файла
21 Grinder Analyzer Специальный питоновский скрипт для анализа логов, записанных с помощью Grinder HTTP Plugin необходима установка Jython/Python
22 Пример отчета
25 Вопросы? End
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.