Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Введение в performance management

1,646 views

Published on

Доклад Андрея Дмитриева на конференции SQA Days-19, 20-21 мая 2016 г., Санкт-Петербург

Published in: Education
  • Be the first to comment

  • Be the first to like this

Введение в performance management

  1. 1. Software quality assurance days 19 Международная конференция по вопросам качества ПО sqadays.com Санкт-Петербург. 20–21 мая 2016 Андрей Дмитриев Санкт-Петербург Введение в Performance Management
  2. 2. Андрей Дмитриев • разработчик, тимлид, групплид • лидер JUG.ru и CodeFreeze.ru Введение в Performance Management Кто я?
  3. 3. Андрей Дмитриев • разработчик, тимлид, групплид • лидер JUG.ru и CodeFreeze.ru Введение в Performance Management Кто я?
  4. 4. • Научить вас проводить performance- тестирование Введение в Performance Management Цель
  5. 5. • Научить вас проводить performance- тестирование Введение в Performance Management Цель
  6. 6. • Научить вас проводить performance- тестирование • Поделиться своим опытом Введение в Performance Management Цель
  7. 7. • Научить вас проводить performance- тестирование • Поделиться своим опытом Введение в Performance Management Цель
  8. 8. • Научить вас проводить performance- тестирование • Поделиться своим опытом • Научить вас задавать правильные вопросы при подготовке к тестированию у заказчика Введение в Performance Management Цель
  9. 9. • Научить вас проводить performance- тестирование • Поделиться своим опытом • Научить вас задавать правильные вопросы при подготовке к тестированию у заказчика Введение в Performance Management Цель
  10. 10. • Чего не будет • Как проводить performance-замеры • Как управлять командой • Как общаться с заказчиком Введение в Performance Management План
  11. 11. • Чего не будет • Как проводить performance-замеры • Как управлять командой • Как общаться с заказчиком • Что будет • Какие deliverables выдавать • Какие требовать ресурсы • Как готовиться к тестированию у заказчика • Как готовить отчет Введение в Performance Management План
  12. 12. • Хорошее тестовое покрытие успешно “выполнилось” Введение в Performance Management Чего хочет заказчик?
  13. 13. • Хорошее тестовое покрытие успешно “выполнилось” • Быть уверенным в том, что решение выдержит требуемую нагрузку Введение в Performance Management Чего хочет заказчик?
  14. 14. Введение в Performance Management Deliverables
  15. 15. • В систему будет поступать в среднем 3000 запросов в сутки • Длительность теста - 1 час • Сколько запросов должно быть выполнено? • А: 375 • B: 125 • C: 3000 • D: Ответить невозможно Введение в Performance Management Простой пример #1
  16. 16. • В систему будет поступать в среднем 3000 запросов в сутки • Длительность теста - 1 час • Сколько запросов должно быть выполнено? • А: 375 • B: 125 • C: 3000 • D: Ответить невозможно Введение в Performance Management Простой пример #1 • КАРТИНКА с характером нагрузки
  17. 17. • NFR документ • Strategy документ • Проектный план • Финальный отчет Введение в Performance Management Ладно, что за Deliverables?
  18. 18. • Кто готовит этот документ? • Что содержит этот документ? Введение в Performance Management NFR документ
  19. 19. • Снимаемые метрики: o DB server host CPUmemory load o DB instance Average Active Session o DB server host IO load o AWR report для каждого сервера o App server host CPUmemory load o App server threads usage для каждой ноды (active, waiting, available, total) o App server JDBC pool usage (number of activeidle sessions) o App server JVM GC log activity o APP server JMS queues length, etc. Введение в Performance Management NFR документ
  20. 20. • Ожидаемые нагрузки (в год, день): 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 документ
  21. 21. • Количество мигрированных данных: Введение в 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 Engineerin g Orders XYZ P h a s e 1 execution Executing data migration on onsite Test environment 14.500 Engineerin g 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.eDesigner Evolve EWAN (MySQL) 4. ONPS (Oracle) 34.500 non- Engineerin g Orders XYZ
  22. 22. • Объем мигрированных данных: Введение в 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
  23. 23. • Бизнес-кейсы Введение в Performance Management NFR документ # Are a Phase Description Report Criteria Tx /h (av g) Resp onse 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 3 0 m i n 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 5 RI Phase 2 Network Element report 16 5min
  24. 24. • UI tests Введение в Performance Management NFR документ # Home page User group Users i n group Openi n g s p e r hour 1 Design and Provisioning Home Page Design & Provisioning 1258 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-7 00 700
  25. 25. • Любая страница открывается за 3 сек Введение в Performance Management Примеры плохих NFR
  26. 26. • Любая страница открывается за 3 сек • А как быть с отчетами, виджетами, поисками??? Введение в Performance Management Примеры плохих NFR
  27. 27. • Любая страница открывается за 3 сек • А как быть с отчетами, виджетами, поисками??? • Любой отчет строится максимум за 5 минут Введение в Performance Management Примеры плохих NFR
  28. 28. • Любая страница открывается за 3 сек • А как быть с отчетами, виджетами, поисками??? • Любой отчет строится максимум за 5 минут • А если отчет не выдает никаких данных??? Введение в Performance Management Примеры плохих NFR
  29. 29. • Нужно ли презентовать стратегию заказчику, а не только выдавать? Введение в Performance Management Strategy документ
  30. 30. • Диаграмма компонентов Введение в Performance Management Strategy документ
  31. 31. • Алгоритм маппинга результатов Введение в Performance Management Strategy документ
  32. 32. • Тесты • Длительности тестов • Ожидания от замеров Введение в Performance Management Strategy документ
  33. 33. 1. Оборудование, сеть и т.д. доступно 2. Заглушки развернуты 3. Сегменты сети одинаковые 4. Порты открыты, права выданы (weblogic, oracle, etc.) 5. Генератор нагрузки развернут с нужным ПО 6. Нужная версия продукта установлена 7. Доступность окружения (за N дней до и M дней после) 8. Поддержка DBA на протяжении замеров 9. SLA на наши запросы не более чем 1 день Введение в Performance Management Strategy документ: ваши требования*
  34. 34. • Классический проектный план • Пересечение с другими работами на серверах Введение в Performance Management Проектный план
  35. 35. • Таблица со статусами запусков теста Введение в Performance Management Простой пример #2 1-May 8-May 15-May Test #1 4h/3mil obj/ Warn 12h/6mil obj/ Error 24h/8mil obj/ Ok Test #2 1h/3000obj/ Warn 1.5h/4000obj/ Warn 0.5h/4000obj/ Ok
  36. 36. Введение в Performance Management Какие ресурсы потребуются? Нагружаемая система - APP Нагружаемая система - DB
  37. 37. Введение в Performance Management Какие ресурсы потребуются? Нагружаемая система - APP Нагружаемая система - DB Нагружающа я система - injector
  38. 38. Введение в Performance Management Какие ресурсы потребуются? Нагружаемая система - APP Нагружаемая система - DB Нагружающа я система - injector Нагружающа я система - injector
  39. 39. Введение в Performance Management Какие ресурсы потребуются? Нагружаемая система - APP Нагружаемая система - DB Нагружающа я система - injector Stub-система Нагружающа я система - injector
  40. 40. Введение в Performance Management Какие ресурсы потребуются? Нагружаемая система - APP Нагружаемая система - DB Нагружающа я система - injector Stub-система Stub-система Нагружающа я система - injector
  41. 41. Введение в Performance Management Какие ресурсы потребуются? Нагружаемая система - APP Нагружаемая система - DB Нагружающа я система - injector Stub-система Stub-система Нагружающа я система - injector Бридж в систему заказчика
  42. 42. Введение в Performance Management Какие ресурсы потребуются? Нагружаемая система - APP Нагружаемая система - DB Нагружающа я система - injector Stub-система Stub-система Нагружающа я система - injector Бридж в систему заказчика Что угодно еще
  43. 43. Введение в Performance Management (Итоговый) Отчет
  44. 44. • Кто готовит шаблон отчета (мы или заказчик)? • Утилизация ресурсов (CPU, io, memory) • TBD скриншоты отчета: • TestF таблица HighLevelReport • Графики • Scalability таблицы • Что будет, если не все тесты пройдены? • Указывать ли список тикетов в отчете? • Важность валидации отчета с проектной командой Введение в Performance Management (Итоговый) Отчет
  45. 45. • Миграция данных Введение в Performance Management (Итоговый) Отчет
  46. 46. • Бизнес-сценарии Введение в Performance Management (Итоговый) Отчет
  47. 47. • Несоблюдение NFR Введение в Performance Management (Итоговый) Отчет
  48. 48. • Количество исполнений Введение в Performance Management (Итоговый) Отчет
  49. 49. • CPU Введение в Performance Management (Итоговый) Отчет
  50. 50. • Memory Введение в Performance Management (Итоговый) Отчет
  51. 51. • GC logs Введение в Performance Management (Итоговый) Отчет
  52. 52. • Scalability throughput Введение в Performance Management (Итоговый) Отчет
  53. 53. • Scalability resource utilisation Введение в Performance Management (Итоговый) Отчет
  54. 54. • Что будет, если вы переделаете вашу систему? Введение в Performance Management Какие вопросы задавать заказчику не стоит
  55. 55. • Что будет, если вы переделаете вашу систему? • Очень хочется, чтобы заказчик пришел к нам с этим вопросом. Введение в Performance Management Какие вопросы задавать заказчику не стоит
  56. 56. • Что будет, если вы переделаете вашу систему? • Очень хочется, чтобы заказчик пришел к нам с этим вопросом. • Что будет, если выйдет из строя датацентр? Введение в Performance Management Какие вопросы задавать заказчику не стоит
  57. 57. • Что будет, если вы переделаете вашу систему? • Очень хочется, чтобы заказчик пришел к нам с этим вопросом. • Что будет, если выйдет из строя датацентр? • Это уже спросили Архитекторы Введение в Performance Management Какие вопросы задавать заказчику не стоит
  58. 58. • Что будет, если вы переделаете вашу систему? • Очень хочется, чтобы заказчик пришел к нам с этим вопросом. • Что будет, если выйдет из строя датацентр? • Это уже спросили Архитекторы • Или не спросили? Введение в Performance Management Какие вопросы задавать заказчику не стоит
  59. 59. • Кто за что отвечает у заказчика? ContactPerson, области ответственности (админы, PM, другие?) • Будет ли внешнее тестирование? Их целевые показатели отличаются от наших? • Есть ли отличия офсайт-онсайт? • Батчи, отчеты, поиски, типы запросов к БД, реакция third-party систем, размеры сущностей в БД, миграции (какие типы, какого размера, сколько из них мигрируют), ночные работы (night jobs), количествоВведение в Performance Management Итоги Чеклист: вопросы заказчику (1/2)
  60. 60. • Согласованный план работ и ожиданий • Пример: заказчик не знал, что нам понадобится доступ к БД для отката состояния базы • Пример: БД и APP были физически в разных сегментах сети • Отчетность • Все характеристики, которые могут понадобиться • 100500 пунктов из стратегии • Акцент на бизнес-задачах, что его беспокоит (в первую очередь) • Пересечение с другими работами на серверах Введение в Performance Management Итоги Чеклист: вопросы заказчику (2/2)
  61. 61. • https://twitter.com/it_improve • andrei-dmitriev@ya.ru Введение в Performance Management Q&A
  62. 62. Тest environment has been established in network and that environment is available for NC which includes: Application, Database and RDB instances. Test environment installed including hardware, network configuration, appropriate versions of software. Test stubs for all Network Elements in scope of WS1.2 project are installed and configured including test data setup into separate hardware. Network connectivity between Test environment and stubs instance is established. Necessary firewalls between Test environment and stubs instance are opened. Separate machine (load generator) should be provided in Customer network to generate workload on Test server solution; This environment is intended to emulate the user workload. • Appropriate ports (required for Activation interface and sftp interfaces for batch files) are opened towards Test server. • Load generator machine should be in the same network with other Test servers; Company is granted Access to Test environment to enable test execution, software and data updates to occur. Including file system access, web access, DB access. Appropriate permissions are provided to NetСracker for Test environment. This includes permissions to: • To setup WS1.2 code drops on Test environment (application servers and database servers) in order to install updates on the solution; • To copy Oracle database source files on the Test Database machine in order to backup and restore Oracle instance; • To copy WebLogic, Oracle and Company solution log files into some file storage available for Company team (for example to Postman); • To execute sudo operations on load generator machine; • To establish ftp or ssh connect to (from) APP & ODB machines from (to) the load generator machine. Test environment should have Company Product codebase and WS1.2 project code drop installed; Test environments should have all necessary configurations and test data; Test environment should have operation systems, application server’s (Oracle Weblogic) version and DB server’s (Oracle DB) version same as on Production environment; Test Application, Database and RDB machines should have following 3rd party tools installed: • Test Framework; • Anaconda pack (http://continuum.io/downloads, a requirement for TestF); • JDK 7; • Python v3; • sar monitoring tool; • Oracle tool set (sqlplus, statspack, AWR Report, etc.); • netstat; • iostat; • GCViewer; • kSar; • DomainHealth; • Profiler. Test environment must be available for Company not later than three weeks before the on-site Test activities are planned to start in order to perform initial Test tools configuration and smoke tests; Test Environments and Code bases are stable (should not change) for the duration of scripting, test preparation and execution; Введение в Performance Management Приложение

×