Введение в performance management

56
19 Международная конференция по вопросам качества ПО sqadays.com Андрей Дмитриев Москва 2016 Введение в Performance Management

Upload: cee-secr

Post on 15-Apr-2017

132 views

Category:

Leadership & Management


0 download

TRANSCRIPT

Page 1: Введение в performance management

19 Международная конференция по вопросам качества ПОsqadays.com

Андрей Дмитриев

Москва 2016

Введение в Performance Management

Page 2: Введение в performance management

• разработчик, тимлид, груплид

• лидер JUG.ru и CodeFreeze.ru

Введение в Performance Management

Кто я?

Page 3: Введение в performance management

• разработчик, тимлид, груплид

• лидер JUG.ru и CodeFreeze.ru

Введение в Performance Management

Кто я?

Page 4: Введение в performance management

• разработчик, тимлид, груплид

• лидер JUG.ru и CodeFreeze.ru

Введение в Performance Management

Кто я?

Page 5: Введение в performance management

• Научить вас проводить performance-тестирование

Введение в Performance Management

Цель

Page 6: Введение в performance management

• Научить вас проводить performance-тестирование

Введение в Performance Management

Цель

Page 7: Введение в performance management

• Научить вас проводить performance-тестирование

• Поделиться своим опытом

Введение в Performance Management

Цель

Page 8: Введение в performance management

• Научить вас проводить performance-тестирование

• Поделиться своим опытом

Введение в Performance Management

Цель

Page 9: Введение в performance management

• Научить вас проводить performance-тестирование

• Поделиться своим опытом

• Научить вас задавать правильные вопросы при подготовке к тестированию у заказчика

Введение в Performance Management

Цель

Page 10: Введение в performance management

• Научить вас проводить performance-тестирование

• Поделиться своим опытом

• Научить вас задавать правильные вопросы при подготовке к тестированию у заказчика

Введение в Performance Management

Цель

Page 11: Введение в performance management

Введение в Performance Management

Значение слова “Цель”

А B

Page 12: Введение в performance management

Введение в Performance Management

Значение слова “Цель”

А B C

Page 13: Введение в performance management

• Чего не будет • Как проводить performance-замеры

• Как управлять командой

• Как общаться с заказчиком

Введение в Performance Management

План

Page 14: Введение в performance management

• Чего не будет • Как проводить performance-замеры

• Как управлять командой

• Как общаться с заказчиком

• Что будет • Как готовиться к тестированию у заказчика

• Какие deliverables выдавать

• Как готовить отчет

Введение в Performance Management

План

Page 15: Введение в performance management

• Хорошее тестовое покрытие успешно “выполнилось”

Введение в Performance Management

Чего хочет заказчик?

Page 16: Введение в performance management

• Хорошее тестовое покрытие успешно “выполнилось”

• Быть уверенным в том, что решение выдержит требуемую нагрузку

Введение в Performance Management

Чего хочет заказчик?

Page 17: Введение в performance management

Введение в Performance Management

Deliverables

Page 18: Введение в performance management

Введение в Performance Management

Простой пример #1• В систему будет поступать в среднем 3000 запросов в сутки

• Длительность теста - 1 час

А. 375 C. 125

B. 3000 D. Неизвестно

Сколько запросов должно быть выполнено за 1 час?

Page 19: Введение в performance management

Введение в Performance Management

Простой пример #1• В систему будет поступать в среднем 3000 запросов в сутки

• Длительность теста - 1 час

А. 375 (3000/8) C. 125 (3000/12)

B. 3000 D. Неизвестно

Сколько запросов должно быть выполнено за 1 час?

Page 20: Введение в performance management

• В систему будет поступать в среднем 3000 запросов в сутки

• Длительность теста - 1 час

• Сколько запросов должно быть выполнено?

• А: 375

• B: 125

• C: 3000

• D: Ответить невозможно

Введение в Performance Management

Простой пример #1

•КАРТИНКА с характером нагрузки

Page 21: Введение в performance management

• NFR документ

Введение в Performance Management

Ладно, что за Deliverables?

Page 22: Введение в performance management

• NFR документ

• Strategy документ

Введение в Performance Management

Ладно, что за Deliverables?

Page 23: Введение в performance management

• NFR документ

• Strategy документ

• Проектный план

Введение в Performance Management

Ладно, что за Deliverables?

Page 24: Введение в performance management

• NFR документ

• Strategy документ

• Проектный план

• Финальный отчет

Введение в Performance Management

Ладно, что за Deliverables?

Page 25: Введение в performance management

• Кто готовит этот документ?

• Что содержит этот документ?

Введение в Performance Management

NFR документ

Page 26: Введение в performance management

• Снимаемые метрики: ο DB server host CPU\memory load ο DB instance Average Active Session ο DB server host I\O load ο AWR report для каждого сервера ο App server host CPU\memory load ο App server threads usage для каждой ноды (active, waiting,

available, total) ο App server JDBC pool usage (number of active\idle sessions) ο App server JVM GC log activity ο APP server JMS queues length, etc.

Введение в Performance Management

NFR документ

Page 27: Введение в performance management

• Ожидаемые нагрузки (в год, день): 1 Scenario #1 10748 4 Scenario #2 18382 7 Scenario #3 3000 10 Scenario #4 6822 13 Scenario #5 5278 16 Scenario #6 7504 19 Scenario #7 4966 Total executions: 56700

Введение в Performance Management

NFR документ

Page 28: Введение в performance management

• Количество мигрированных данных:

Введение в Performance Management

NFR документ

Phases Description Data volume Dates:

P h a s e 1 preparation

Set up datasources on onsite Test environment:

1. BORIS (Oracle) 2. ONPS (Oracle) 3. Cisco ISC (Sybase) 4. ProJEN (Oracle)

14.500 Engineering Orders

XYZ

P h a s e 1 execution

Executing data migration on onsite Test environment

14.500 Engineering Orders

XYZ

P h a s e 2 preparation

Set up all datasources on onsite Test environment:

1.BORIS (Oracle) 2.eDesigner Evolve VPN

(MySQL) 3.eDes igner Evo lve EWAN

(MySQL) 4. ONPS (Oracle)

34.500 non-Engineering Orders

XYZ

P h a s e 2 execution

Executing data migration on onsite Test environment

34.500 non-Engineering Orders

XYZ

Page 29: Введение в performance management

• Объем мигрированных данных:

Введение в Performance Management

NFR документ

Legacy system S o u r c e d a t a volume

Data volume after m i g r a t i o n i n t o Company Database

Data type for both migration phases (total)

System X (Oracle) 50 Gb 50 Gb 32mil records

System X VPN (MySQL) 1 Gb 1 Gb 2 0 0 K r e c o r d s (service instances + service design)

System X E1 (MySQL) 0,1 Gb 0,1 Gb 2K records (service instances + service design)

System X1 (Oracle) 350 Gb 350 Gb 410mil records

System X2 (Sybase) 0.5 Gb 0.5 Gb * 1,5 * 2,5 = 1.5 Gb at most

17K records

System X3 (Oracle) 0.5 Gb 0.5 Gb * 1,5 * 2,5 = 1.5 Gb at most

1K records

TOTAL SIZE 402 Gb 404 Gb 442mil records

Page 30: Введение в performance management

• Бизнес-кейсы

Введение в Performance Management

NFR документ

# A r ea

Phase Description Report Criteria Tx/h (avg)

Response time

1

FUF

Phase 2

Order performance with respect to the order target date

M o n t h l y o r Q u a r t e r l y performance

16 1min

2

FUF

Phase 2

Order performance with respect to the Estimated Delivery Date -Commitment Date

M o n t h l y o r Q u a r t e r l y performance

16 30min

3

FUF

Phase 2

Order Volumes – Created M o n t h l y o r Q u a r t e r l y performance

16 5min

4

FUF

Phase 2

Order Volumes – Delivered M o n t h l y o r Q u a r t e r l y performance

16 2min

5RI

Phase 2 Network Element report

16 5min

Page 31: Введение в performance management

• UI tests

Введение в Performance Management

NFR документ

# Home page User group Users i n group

Openin g s p e r hour

1 Design and Provisioning Home Page

Design & Provisioning1258

1258

2 Order Creation Home Page

Order Creation 566 566

3 Project Management Home Page

Project Management 6 6

4 Team Leader View Team Leader 100-700

700

Page 32: Введение в performance management

• Нужно ли презентовать стратегию заказчику, а не только выдавать?

Введение в Performance Management

Strategy документ

Page 33: Введение в performance management

• Диаграмма компонентов

Введение в Performance Management

Strategy документ

Page 34: Введение в performance management

• Алгоритм маппинга результатов

Введение в Performance Management

Strategy документ

Page 35: Введение в performance management

• Тесты

• Данные

• Маппинг результатов в продакшн-окружение

• Длительности тестов

• Ожидания от замеров

Введение в Performance Management

Strategy документ

Page 36: Введение в performance management

Введение в Performance Management

(Итоговый) Отчет

Page 37: Введение в performance management

Введение в Performance Management

Простой пример #1

А. 1 сентября C. 15 сентября

B. 8 сентября D. 3 сентября

Результаты за какой день нужно перепроверить?

1-Sep 8-Sep 15-SepTest #1 4h/3mil obj/

Warn12h/6mil obj/

Error24h/8mil obj/

Ok

Page 38: Введение в performance management

Введение в Performance Management

Простой пример #1

А. 1 сентября C. 15 сентября

B. 8 сентября D. 3 сентября

В какой день произошла регрессия производительности Test #1?

1-Sep 8-Sep 15-SepTest #1 4h/3mil obj/

Warn12h/6mil obj/

Error24h/8mil obj/

Ok

Page 39: Введение в performance management

Введение в Performance Management

Простой пример #1

А. 1 сентября C. 15 сентября

B. 8 сентября D. во все дни

1-Sep 8-Sep 15-SepTest #2 1h/3000obj/

Warn1.5h/4000obj/

Warn0.5h/4000obj/

Ok

Результаты за какой день нужно перепроверить?

Page 40: Введение в performance management

• Кто готовит шаблон отчета (мы или заказчик)?

• Что будет, если не все тесты пройдены?

• Указывать ли список тикетов в отчете?

• Важность валидации отчета с проектной командой

Введение в Performance Management

Отчет - подготовка

Page 41: Введение в performance management

• Общий скоуп тестов с результатами

• Утилизация ресурсов (CPU, io, memory)

• Графики

• Количества обработанных запросов

• Утилизации

• Scalability таблицы

Введение в Performance Management

Отчет - содержание

Page 42: Введение в performance management

• Миграция данных

Введение в Performance Management

Отчет - пример 1

Page 43: Введение в performance management

• Бизнес-сценарии

Введение в Performance Management

Отчет - пример 2

Page 44: Введение в performance management

• Несоблюдение NFR

Введение в Performance Management

Отчет - пример 3

Page 45: Введение в performance management

• Количество исполнений

Введение в Performance Management

Отчет - пример 4

Page 46: Введение в performance management

• CPU

Введение в Performance Management

Отчет - пример 5

Page 47: Введение в performance management

• Memory

Введение в Performance Management

Отчет - пример 6

Page 48: Введение в performance management

• GC logs

Введение в Performance Management

Отчет - пример 7

Page 49: Введение в performance management

• Scalability throughput

Введение в Performance Management

Отчет - пример 8

Page 50: Введение в performance management

• Scalability resource utilisation

Введение в Performance Management

Отчет - пример 9

Page 51: Введение в performance management

• Количество пользователей

• Миграции

• Сценарии

• Batch jobs

• Отчеты

• Поиски

• Типы запросов к БД

• third-party системы

• Сущности в БД

Введение в Performance Management

Итоги Чеклист: вопросы заказчику (1/2)

Page 52: Введение в performance management

• Кто за что отвечает у заказчика? ContactPerson, области ответственности, админы, PM.

• Будет ли внешнее тестирование? Их целевые показатели отличаются?

• Какие отличия офсайт и онсайт?

Введение в Performance Management

Итоги Чеклист: вопросы заказчику (2/2)

Page 53: Введение в performance management

• Решение по плану тестирования должно приниматься быстро

Введение в Performance Management

Совсем итоги

Page 54: Введение в performance management

• Решение по плану тестирования должно приниматься быстро

• Чеклист позволяет существенно ускорить решение

Введение в Performance Management

Совсем итоги

Page 55: Введение в performance management

• Решение по плану тестирования должно приниматься быстро

• Чеклист позволяет существенно ускорить решение

• Вам нужно иметь свой чеклист!

Введение в Performance Management

Совсем итоги

Page 56: Введение в performance management

• https://twitter.com/it_improve

[email protected]

Введение в Performance Management

Q&A