Тестирование производительности

Содержание

Слайд 2

Правила участия в курсе

СДО: записи, «домашка»
Консультации
Форум и скайп-чат
Учебное приложение

Правила участия в курсе СДО: записи, «домашка» Консультации Форум и скайп-чат Учебное приложение

Слайд 3

Структура курса

Основы ТП. Знакомство с JMeter
Цели ТП, сценарии и профили нагрузки
Сбор данных

Структура курса Основы ТП. Знакомство с JMeter Цели ТП, сценарии и профили
и анализ результатов
Усложнение сценариев

Слайд 4

Литература

Литература

Слайд 5

Занятие 1 Основы ТП Знакомство с JMeter

Занятие 1 Основы ТП Знакомство с JMeter

Слайд 6

План занятия

Основы тестирования производительности
Что тестируем и как выглядят требования?
Три базовые составляющие
Краткий обзор

План занятия Основы тестирования производительности Что тестируем и как выглядят требования? Три
инструментов
JMeter как типичный представитель
Запись и воспроизведение
Отладка сценария
Сбор основных метрик
Анализ собранных результатов

Слайд 7

ТП: Что тестируем?

ТП: Что тестируем?

Слайд 8

ГОСТ Р ИСО/МЭК 9126-93

Эффективность — Набор атрибутов, относящихся к соотношению между уровнем качества

ГОСТ Р ИСО/МЭК 9126-93 Эффективность — Набор атрибутов, относящихся к соотношению между
функционирования ПО и объемом используемых ресурсов при установленных условиях.

Слайд 9

ГОСТ Р ИСО/МЭК 9126-93

А.2.4 Эффективность (Efficiency)
А.2.4.1 Характер изменения во времени (Time

ГОСТ Р ИСО/МЭК 9126-93 А.2.4 Эффективность (Efficiency) А.2.4.1 Характер изменения во времени
behavior) Атрибуты программного обеспечения, относящиеся к временам отклика и обработки и к скоростям выполнения его функций. А.2.4.2 Характер изменения ресурсов (Resource behavior) Атрибуты программного обеспечения, относящиеся к объему используемых ресурсов и продолжительности такого использования при выполнении функции.

Слайд 10

Так «эффективность» или «производительность»?

Так «эффективность» или «производительность»?

Слайд 11

Эффективность +

При большой нагрузке не хватает ресурсов
=>
Нехватка ресурсов может приводить к

Эффективность + При большой нагрузке не хватает ресурсов => Нехватка ресурсов может
проявлению функциональных дефектов

Слайд 12

ГОСТ Р ИСО/МЭК 9126-93

Надежность – Набор атрибутов, относящихся к способности программного обеспечения

ГОСТ Р ИСО/МЭК 9126-93 Надежность – Набор атрибутов, относящихся к способности программного
сохранять свой уровень качества функционирования при установленных условиях за установленный период времени.

Слайд 13

ГОСТ Р ИСО/МЭК 9126-93

А.2.2 Надежность (Reliability) А.2.2.1 Стабильность (Maturity) Атрибуты программного обеспечения,

ГОСТ Р ИСО/МЭК 9126-93 А.2.2 Надежность (Reliability) А.2.2.1 Стабильность (Maturity) Атрибуты программного
относящиеся к частоте отказов при ошибках в программном обеспечении. А.2.2.2 Устойчивость к ошибке (Fault tolerance) Атрибуты программного обеспечения, относящиеся к его способности поддерживать определенный уровень качества функционирования в случаях программных ошибок или нарушения определенного интерфейса. А.2.2.3 Восстанавливаемость (Recoverability) Атрибуты программного обеспечения, относящиеся к его возможности восстанавливать уровень качества функционирования и восстанавливать данные, непосредственно поврежденные в случае отказа, а также к времени и усилиям, необходимым для этого.

Слайд 14

Пример требований

Пример требований

Слайд 15

Пример требований

При нагрузке до 100 одновременно работающих с системой клиентов:
среднее время отклика

Пример требований При нагрузке до 100 одновременно работающих с системой клиентов: среднее
должно составлять не более 2,5 секунд.

Слайд 16

Пример требований

При нагрузке до 100 одновременно работающих с системой клиентов:
среднее время отклика

Пример требований При нагрузке до 100 одновременно работающих с системой клиентов: среднее
должно составлять не более 2,5 секунд,
количество отказов не должно превышать 1%

Слайд 17

Пример требований

При нагрузке до 100 одновременно работающих с системой клиентов:
среднее время отклика

Пример требований При нагрузке до 100 одновременно работающих с системой клиентов: среднее
должно составлять не более 2,5 секунд,
количество отказов не должно превышать 1%
дисперсия не должна превышать 5%

Слайд 18

Пример требований

При нагрузке до 100 транзакций в секунду типа «ping» и 10

Пример требований При нагрузке до 100 транзакций в секунду типа «ping» и
транзакций в секунду типа «action»:
среднее время отклика должно составлять не более 2,5 секунд,
количество отказов не должно превышать 1%
дисперсия не должна превышать 5%

Слайд 19

Пример требований

При нагрузке до 100 транзакций в секунду типа «ping» и 10

Пример требований При нагрузке до 100 транзакций в секунду типа «ping» и
транзакций в секунду типа «action»:
среднее время отклика должно составлять не более 2,5 секунд,
количество отказов не должно превышать 1%
дисперсия не должна превышать 5%
сервер приложений должен потреблять не более 50% CPU и не более 1,2 гигабайта ОЗУ

Слайд 20

Пример требований

При нагрузке до 100 транзакций в секунду типа «ping» и 10

Пример требований При нагрузке до 100 транзакций в секунду типа «ping» и
транзакций в секунду типа «action»:
среднее время отклика для транзакций типа «action» должно составлять не более 2,5 секунд,
количество отказов не должно превышать 1%,
дисперсия не должна превышать 5%,
сервер приложений должен потреблять не более 50% CPU и не более 1,2 гигабайта ОЗУ,
система должна расходовать не более трёх соединений с СУБД

Слайд 21

Подробность требований

Какие требования лучше: подробные или неформальные и нечёткие?

Подробность требований Какие требования лучше: подробные или неформальные и нечёткие?

Слайд 22

Три базовые составляющие ТП

Три базовые составляющие ТП

Слайд 23

Три базовые составляющие

Генерация нагрузки
Мониторинг характеристик производительности
Анализ результатов

Три базовые составляющие Генерация нагрузки Мониторинг характеристик производительности Анализ результатов

Слайд 24

Три базовые составляющие

Ресурсов не хватает при большой нагрузке
Нужно много наблюдений
«В зачет» идут

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

Слайд 25

Краткий обзор инструментов

Краткий обзор инструментов

Слайд 26

Генерация нагрузки

JMeter – http://jmeter.apache.org/
grinder – http://grinder.sourceforge.net/
multi-mechanize – http://testutils.org/multi-mechanize/
Gatling – http://gatling-tool.org/
Tsung – http://tsung.erlang-projects.org/
loadUI – http://www.loadui.org/
curl-loader – http://curl-loader.sourceforge.net/

Генерация нагрузки JMeter – http://jmeter.apache.org/ grinder – http://grinder.sourceforge.net/ multi-mechanize – http://testutils.org/multi-mechanize/ Gatling

Слайд 27

Генерация нагрузки

BlazeMeter – http://blazemeter.com/
Blitz – https://www.blitz.io/
Load Impact – http://loadimpact.com/
LoadStorm – http://loadstorm.com/
SOASTA – http://www.soasta.com/

Генерация нагрузки BlazeMeter – http://blazemeter.com/ Blitz – https://www.blitz.io/ Load Impact – http://loadimpact.com/

Слайд 28

Мониторинг

Встроенные в инструменты средства
Средства операционной системы
Средства серверов, СУБД, …
Специализированные средства
Zabbix, Nagios, Hyperic

Мониторинг Встроенные в инструменты средства Средства операционной системы Средства серверов, СУБД, …

Слайд 29

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

Встроенные в инструменты средства
Электронные таблицы
Пакеты для статистической обработки данных

Анализ результатов Встроенные в инструменты средства Электронные таблицы Пакеты для статистической обработки данных

Слайд 31

Простой сценарий в JMeter

Запись сценария рекордером
Отладка сценария
Сбор основных метрик
Анализ собранных результатов

Простой сценарий в JMeter Запись сценария рекордером Отладка сценария Сбор основных метрик Анализ собранных результатов