03 load testing

23
Performance/Load/Volume/Stress testing

Upload: vyacheslavmaslov

Post on 05-Jul-2015

92 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 03   load testing

Performance/Load/Volume/Stress

testing

Page 2: 03   load testing

Основные понятия

Методика проведения

Page 3: 03   load testing
Page 4: 03   load testing

Производительность (Performance)• степень, с которой система или компонент выполняет заложенные

в нее функции в установленных рамках на время обработки на пропускную способность.

Профилирование производительности (performance profiling)

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

Функциональный разрез (operational profile)• представление особого множества задач, выполняемых

компонентом или системой, возможно опирающихся на поведение пользователя при взаимодействии с компонентом или системой, с указанием вероятности их появления.

Page 5: 03   load testing

Эффективность (efficiency) • способность системы обеспечивать

необходимую производительность, относительно количества ресурсов, используемых при установленных условиях. [ISO 9126]

Тестирование эффективности• это процесс тестирования для установления

эффективности программного продукта

Page 6: 03   load testing

тип тестирования производительности, проводимый с целью

• оценки поведения компонента или системы при возрастающей нагрузке, например количестве параллельных пользователей и/или операций,

• определения какую нагрузку может выдержать компонент или система.

Page 7: 03   load testing

Номинальная

Минимальная

Максимальная

Page 8: 03   load testing

тестирование, при котором система испытывается на больших объемах данных.

Page 9: 03   load testing

Надежность (reliability)• способность программного

продукта функционировать при заданных условиях на протяжении определенного периода времени, или для определенного количества операций. Также применяются термины soak testing, endurance testing и т.д.

Тестирование надежности• процесс тестирования,

исследующий надежность программного продукта.

Page 10: 03   load testing

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

Page 11: 03   load testing

Тестирование использования ресурсов (resource utilization testing)

• процесс тестирования, исследующий использование ресурсов программным продуктом. Использование ресурсов (resource utilization) - способность использования программным продуктом соответствующего количества ресурсов определенного типа (например, объема оперативной памяти и памяти второго уровня, размера временных файлов и т.д.) во время работы в установленных условиях.

Page 12: 03   load testing

Тестирование масштабируемости (scalability testing)• тестирование с целью оценить масштабируемость

программного продукта. Масштабируемость (scalability) – способность программного продукта к модернизации с целью удовлетворения возрастающей нагрузки.

Page 13: 03   load testing

Базовые этапы

Анализ, определение и проектирование модели нагрузки

(профилирование)

Настройка стенда

реализации

Разработка типовых

сценариев и реализация

модели нагрузки

Проведениеиспытаний

Анализрезультатов

Подготовка отчетов

Page 14: 03   load testing

Профилирование:• Изучение бизнес-процесса, опрос конечных

пользователей об условиях и требованиях к эксплуатации

• Анализ текущего состояния системы• Апроксимации и прогнозы развития системы• т. д.

Кто? Сколько человек? Какие операции? В каком количесвте? Как часто? Сколько данных? Как долго? Как быстро? И т.д.

Page 15: 03   load testing

Продумать и обговорить следующие моменты:

• Точно определить, какие параметры компьютера/сервера необходимы для проведения испытаний. Параметры компьютера должны быть максимально приближены к тем, которые будут использованы у конечных пользоватей;

• Определить какое программное обеспечение будет установлено на стенде, в том числе и инструменты для проведения испытаний и инструменты для мониторинга системы. А также определить какую нагрузку на систему будут нести все установленные приложения;

• Убедиться, что стенд для проведения испытаний будет изолирован от внешних.

Page 16: 03   load testing

Проектирование сценариев

Запись VU-скриптов

Подготовка данных

Подготовка конфигураций

Подготовка профилей нагрузки

Page 17: 03   load testing

• Варианты запуска: Все одновременно

Постепенно по одному

По расписанию

Хаотично партиями

• Варианты прогона: Все фремя фиксированная нагрузка

(load/performance/efficiency )

Все время возрастающая нагрузка (stress)

Переменная нагрузка (reliability)

Page 18: 03   load testing

Apache Jmeter(http://jakarta.apache.org/jmeter/)

Open Systems Testing Architecture (OpenSTA, http://www.opensta.org/)

WAPT – Web Application Testing(http://www.loadtestingtool.com)

HP LoadRunner (www.mercury.com) IBM Rational Performance Tester

(http://www.interface.ru/fset.asp?Url=/rational/PerfomTest.htm)

Page 19: 03   load testing

Зафиксировать состояние системыСледить за состоянием системы между

тестамиПредварительный прогон теста с

разными уровнями нагрузки (малыми)Настроить средства мониторингапроизводительности системы:• Обычный• Агентный• Встроенный

Page 20: 03   load testing

MS Performance• Для запуска системного монитора также достаточно

ввести perfmon из Start (Пуск)/Run (Выполнить)

Page 21: 03   load testing

OS Unix• sar -

http://www.opennet.ru/man.shtml?topic=sar&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man

• http://www.ibm.com/developerworks/ru/library/au-unix-perfmonsar/index.html

• top -http://www.opennet.ru/man.shtml?topic=top&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man

• vmstat –http://www.opennet.ru/man.shtml?topic=vmstat&russian=0&category=&submit=%F0%CF%CB%C1%DA%C1%D4%D8+man

Page 22: 03   load testing

Время отклика системыСтепень загрузки процессора

• системная загрузка• пользовательская загрузка• ожидание окончания операции ввода-вывода• Бездействие

ПамятьДисковая подсистема и операции

ввода-выводаЗагруженность сети

Page 23: 03   load testing

Изучение статистики

Поиск узкого места – botleneck

Рекомендации к улучшению