Сложности и практики
    тестирования
 производительности
           Владимир Вахлов,
           «Эксперт-система»
Производительность систем

•   Терминология
•   Метрики
•   Площадки для тестирования
•   Моделирование нагрузки
•   Performance-drop анализ
•   Обработка данных
Терминология

        Performance Testing
(Тестирование Производительности)


 Load     Stress   Stability   Configuration
Терминология

• Не универсальна
• Не все могут привыкнуть
• Придется переводить на язык команды
Выбор метрик


•   Наличие SLA
•   Конкуренция однотипных систем
•   Реакция пользователей
•   Performance-drop анализ
Выбор метрик. Примеры

• Roundtrip обработки запроса
• Время загрузки данных после входа
  пользователя в систему
• Задержки обработки данных внутри системы
• Время, затраченное процессом на GC
Оценка метрик


• Avg / Max / Min значения
• Допустимое отклонение
• Процентили
Оценка метрик.
               Avg / Max / Min значения

• Базовые метрики
• Просты в подсчетах

• Не дают полного представления о
  поведении системы
Оценка метрик. Процентили
      Общий    NIST (Excel 2007, …)
80
15
20
25
35
40
30
50
35
40
30
45
50
25
70
80
15
Оценка метрик. Процентили (пример)

                                                         90% percentile   95% percentile   96% percentile
                                                         97% percentile   98% percentile   99% percentile

•   Устойчивость к пиковым                         400


    значениям




                              Отклик системы, мс
•   Гибкость                                       300



                                                   200



•   Неизвестно количество и                        100
    размер пиковых
    значений
                                                     0




                                                         16:00


                                                         19:00
                                                          4:00
                                                          0:00




                                                          8:00




                                                         13:00

                                                         15:00

                                                         17:00
                                                          1:00




                                                         20:00
                                                          3:00


                                                          6:00
                                                          7:00




                                                         12:00
                                                          9:00




                                                         21:00
                                                          5:00




                                                         10:00



                                                         14:00



                                                         18:00




                                                         23:00
                                                          2:00




                                                         11:00




                                                         22:00
                                                                                 Время
Оценка метрик.
                                   Допустимое отклонение




                          Кол-во   Avg, мс   Max, мс    >1c       >2с
                                                          57        31
               Версия 4   180652    26.7      15398
                                                       (0.03%)   (0.01%)
                                                         361       298
Транзакция N   Версия 3   180334    28.78     17436
                                                       (0.20%)   (0.17%)
   (отклик
                                                         367       306
  системы)     Версия 2   180057    32.23     14174
                                                       (0.20%)   (0.17%)
                                                         423       358
               Версия 1   180339    31.17     14301
                                                       (0.23%)   (0.20%)
Оценка метрик.
                          Допустимое отклонение

•   Дает оценку пиковых
    значений
•   Удобна на реальных
    системах
•   Даёт гибкую систему
    оценки
Площадки для тестирования


               Копия реальной
                 площадки

 Логическая
    копия                       Произвольная
  реальной     Cloud-сервисы    конфигурация
конфигурации


                Своё железо
Cloud-сервисы
                              GoGrid
                           Amazon EC2
                        Storm On Demand
•   Гибкость                   eApps

•   Конфигурируемость    ElasticHosts
                         e24Cloud.com
•   Защищенность            OpSource
                           Rackspace
•   Цена                   Terremark
                             Gigenet
                             VPS NET
                          JoyentCloud
                           dediserve
Amazon EC2
•    Виртуализация XEN
•    Собственный API
•    Spot-instances
•    Запуск новых серверов по щелчку мыши
•    Набор настроенных ОС
     Red Hat Enterprise Linux      Windows Server       Oracle Enterprise Linux
      SUSE Linux Enterprise       Amazon Linux AMI          Ubuntu Linux
             Fedora                 Gentoo Linux                Debian

•    Набор настроенного ПО
            IBM DB2               IBM WebSphere AS      IBM Lotus ContentMgmt
           Oracle 11g           Java Application Server Wowza Media Server Pro
        MySQL Enterprise        Oracle WebLogic Server        IIS/Asp.Net
Amazon EC2
•    От 1 до 16 ядер (1-88 EC2 Compute Units) – AMD / Intel
•    До 68Gb RAM
•    Elastic Block Store (EBS) - RAID0
         iostat: 16K blocks, 50/50 reads/writes, 50/50 random/seq access
     Standard volume                     300 iops / 4.7 MBps
     EBS volume                          870 iops / 13.5 MBps
     2 avg SATA drives in RAID1          220 iops / 3.5 MBps
•    8 различных зон
                             Логин в систему
            Зона           Пинг до системы, мс      Отклик, мс (медиана)
      Northern Virginia             1.8                     1 647
     Northern California           85.6                    3 998
           Ireland                98.0                     4 403
          Oregon                   98.7                    4 390
         Sao Paulo                150.2                     7 917
            Tokyo                 188.0                     7 255
         Singapour                265.4                    9 914
Amazon EC2




       © Steve Jobs
Amazon EC2
            Недостатки

• Доступность 99.95%
• Премиум-поддержка
• Совместное использование
  ресурсов
Cloud-сервисы. No-Go

• Тестирование Ёмкости
• Абсолютные величины отклика
• Экстраполяция
Cloud-сервисы. Применение

• Тестирование стабильности
• Исследование архитектуры
• Сравнительные тесты
Исследование архитектуры.
                   Закон Амдала
«В случае, когда задача
разделяется на несколько частей,
суммарное время её выполнения
на параллельной системе не может
быть меньше времени выполнения
самого длинного фрагмента».


Пример: параллельно выполняется 90% кода
Исследование архитектуры


•    Многопоточность
•    Кластеризация
•    Шардинг
•    Зависимость компонент
Performance-drop анализ


• Реализуем на любой платформе
• Отслеживает изменения в
  производительности в течение
  длительного времени
• Не зависит от конкретных метрик
Моделирование нагрузки

• Реальный профиль
• Комбинированный профиль
• Минимальный профиль
Моделирование нагрузки
                Процент запросов, превышающих допустимый
                                  предел
           90
           80
           70
           60
 Процент




           50
           40
           30
           20
           10
            0
                  4      8        12      16      20         24   30
                             Количество запросов в секунду
Обработка данных

 •    Большое количество данных
 •    Визуализация
 •    Рассчеты
 •    Высокая степень автоматизации

Bash     R-Project   MS Excel   gnuplot
R-Project

•    Кроссплатформенность
•    Скриптование
•    Визуализация данных
•    Работает с миллионами строк данных
•    Бесплатен ;-)
Вопросы?

More Related Content

PPT
AIST 2013 - Data Analysis in Highload Trading Systems
PPTX
EXTENT-2016: Conference Opening
PPT
Virtualization Technology for Test Automation
PPT
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
PPT
The Simple Matter of Project Management
PDF
Cost of Quality How to Save Money
PPT
Verification of Financial Models
PPT
Behavior Driven Development Pros and Cons
AIST 2013 - Data Analysis in Highload Trading Systems
EXTENT-2016: Conference Opening
Virtualization Technology for Test Automation
Delivering Large Post-Trade Initiatives: Quality Assurance and Key Challenges
The Simple Matter of Project Management
Cost of Quality How to Save Money
Verification of Financial Models
Behavior Driven Development Pros and Cons

Viewers also liked (15)

PPT
The next generation of testing tools for exchanges
PPT
SEC Regulation SCI Automation Review Compliance
PPT
Trading Clearing Systems Test Automation
PPT
Trading Systems: Testing at the Confluence of FT and NFT
PPT
EXTENT October 2011 - Test Automation for Trading Systems
PPTX
TMPA-2014: Exactpro Pep Talk
PPT
EXTENT Trading Test Tools Evolution Theory
PDF
Верификация технологических платформ Лондонской фондовой биржи
PPT
Innovation in Quality Assurance – What is the Impact on Trading technology?
PPT
High Frequency Trading Infrastructure and Quality Assurance
PPTX
Exactpro: Non-functional testing approach
PPTX
Extent 2013 Obninsk LSE - The Focus Beyond Low Latency
PPTX
Extent 2013 Obninsk High Performance Messaging
PPT
Extent 2013 Obninsk Managing Uncertain Data at Scale
PPT
Exactpro Test Tools EXTENT Feb 2011
The next generation of testing tools for exchanges
SEC Regulation SCI Automation Review Compliance
Trading Clearing Systems Test Automation
Trading Systems: Testing at the Confluence of FT and NFT
EXTENT October 2011 - Test Automation for Trading Systems
TMPA-2014: Exactpro Pep Talk
EXTENT Trading Test Tools Evolution Theory
Верификация технологических платформ Лондонской фондовой биржи
Innovation in Quality Assurance – What is the Impact on Trading technology?
High Frequency Trading Infrastructure and Quality Assurance
Exactpro: Non-functional testing approach
Extent 2013 Obninsk LSE - The Focus Beyond Low Latency
Extent 2013 Obninsk High Performance Messaging
Extent 2013 Obninsk Managing Uncertain Data at Scale
Exactpro Test Tools EXTENT Feb 2011
Ad

More from SQALab (20)

PDF
Готовим стажировку
PPTX
Куда приводят мечты? или Искусство развития тестировщика
PPT
Оптимизация Selenium тестов и ускорение их поддержки
PPT
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
PPTX
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
PPTX
Continuous performance testing
PDF
Конфиги вместо костылей. Pytestconfig и зачем он нужен
PPT
Команда чемпионов в ИТ стихии
PPTX
API. Серебряная пуля в магазине советов
PPTX
Добиваемся эффективности каждого из 9000+ UI-тестов
PPT
Делаем автоматизацию проектных KPIs
PDF
Вредные привычки в тест-менеджменте
PPTX
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
PPT
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
PPTX
Стили лидерства и тестирование
PPT
"Давайте не будем про качество"
PDF
Apache.JMeter для .NET-проектов
PPTX
Тестирование геолокационных систем
PPTX
Лидер или босс? Вот в чем вопрос
PPTX
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Готовим стажировку
Куда приводят мечты? или Искусство развития тестировщика
Оптимизация Selenium тестов и ускорение их поддержки
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Continuous performance testing
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Команда чемпионов в ИТ стихии
API. Серебряная пуля в магазине советов
Добиваемся эффективности каждого из 9000+ UI-тестов
Делаем автоматизацию проектных KPIs
Вредные привычки в тест-менеджменте
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Стили лидерства и тестирование
"Давайте не будем про качество"
Apache.JMeter для .NET-проектов
Тестирование геолокационных систем
Лидер или босс? Вот в чем вопрос
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
Ad

Сложности и практики тестирования производительности

  • 1. Сложности и практики тестирования производительности Владимир Вахлов, «Эксперт-система»
  • 2. Производительность систем • Терминология • Метрики • Площадки для тестирования • Моделирование нагрузки • Performance-drop анализ • Обработка данных
  • 3. Терминология Performance Testing (Тестирование Производительности) Load Stress Stability Configuration
  • 4. Терминология • Не универсальна • Не все могут привыкнуть • Придется переводить на язык команды
  • 5. Выбор метрик • Наличие SLA • Конкуренция однотипных систем • Реакция пользователей • Performance-drop анализ
  • 6. Выбор метрик. Примеры • Roundtrip обработки запроса • Время загрузки данных после входа пользователя в систему • Задержки обработки данных внутри системы • Время, затраченное процессом на GC
  • 7. Оценка метрик • Avg / Max / Min значения • Допустимое отклонение • Процентили
  • 8. Оценка метрик. Avg / Max / Min значения • Базовые метрики • Просты в подсчетах • Не дают полного представления о поведении системы
  • 9. Оценка метрик. Процентили Общий NIST (Excel 2007, …) 80 15 20 25 35 40 30 50 35 40 30 45 50 25 70 80 15
  • 10. Оценка метрик. Процентили (пример) 90% percentile 95% percentile 96% percentile 97% percentile 98% percentile 99% percentile • Устойчивость к пиковым 400 значениям Отклик системы, мс • Гибкость 300 200 • Неизвестно количество и 100 размер пиковых значений 0 16:00 19:00 4:00 0:00 8:00 13:00 15:00 17:00 1:00 20:00 3:00 6:00 7:00 12:00 9:00 21:00 5:00 10:00 14:00 18:00 23:00 2:00 11:00 22:00 Время
  • 11. Оценка метрик. Допустимое отклонение Кол-во Avg, мс Max, мс >1c >2с 57 31 Версия 4 180652 26.7 15398 (0.03%) (0.01%) 361 298 Транзакция N Версия 3 180334 28.78 17436 (0.20%) (0.17%) (отклик 367 306 системы) Версия 2 180057 32.23 14174 (0.20%) (0.17%) 423 358 Версия 1 180339 31.17 14301 (0.23%) (0.20%)
  • 12. Оценка метрик. Допустимое отклонение • Дает оценку пиковых значений • Удобна на реальных системах • Даёт гибкую систему оценки
  • 13. Площадки для тестирования Копия реальной площадки Логическая копия Произвольная реальной Cloud-сервисы конфигурация конфигурации Своё железо
  • 14. Cloud-сервисы GoGrid Amazon EC2 Storm On Demand • Гибкость eApps • Конфигурируемость ElasticHosts e24Cloud.com • Защищенность OpSource Rackspace • Цена Terremark Gigenet VPS NET JoyentCloud dediserve
  • 15. Amazon EC2 • Виртуализация XEN • Собственный API • Spot-instances • Запуск новых серверов по щелчку мыши • Набор настроенных ОС Red Hat Enterprise Linux Windows Server Oracle Enterprise Linux SUSE Linux Enterprise Amazon Linux AMI Ubuntu Linux Fedora Gentoo Linux Debian • Набор настроенного ПО IBM DB2 IBM WebSphere AS IBM Lotus ContentMgmt Oracle 11g Java Application Server Wowza Media Server Pro MySQL Enterprise Oracle WebLogic Server IIS/Asp.Net
  • 16. Amazon EC2 • От 1 до 16 ядер (1-88 EC2 Compute Units) – AMD / Intel • До 68Gb RAM • Elastic Block Store (EBS) - RAID0 iostat: 16K blocks, 50/50 reads/writes, 50/50 random/seq access Standard volume 300 iops / 4.7 MBps EBS volume 870 iops / 13.5 MBps 2 avg SATA drives in RAID1 220 iops / 3.5 MBps • 8 различных зон Логин в систему Зона Пинг до системы, мс Отклик, мс (медиана) Northern Virginia 1.8 1 647 Northern California 85.6 3 998 Ireland 98.0 4 403 Oregon 98.7 4 390 Sao Paulo 150.2 7 917 Tokyo 188.0 7 255 Singapour 265.4 9 914
  • 17. Amazon EC2 © Steve Jobs
  • 18. Amazon EC2 Недостатки • Доступность 99.95% • Премиум-поддержка • Совместное использование ресурсов
  • 19. Cloud-сервисы. No-Go • Тестирование Ёмкости • Абсолютные величины отклика • Экстраполяция
  • 20. Cloud-сервисы. Применение • Тестирование стабильности • Исследование архитектуры • Сравнительные тесты
  • 21. Исследование архитектуры. Закон Амдала «В случае, когда задача разделяется на несколько частей, суммарное время её выполнения на параллельной системе не может быть меньше времени выполнения самого длинного фрагмента». Пример: параллельно выполняется 90% кода
  • 22. Исследование архитектуры • Многопоточность • Кластеризация • Шардинг • Зависимость компонент
  • 23. Performance-drop анализ • Реализуем на любой платформе • Отслеживает изменения в производительности в течение длительного времени • Не зависит от конкретных метрик
  • 24. Моделирование нагрузки • Реальный профиль • Комбинированный профиль • Минимальный профиль
  • 25. Моделирование нагрузки Процент запросов, превышающих допустимый предел 90 80 70 60 Процент 50 40 30 20 10 0 4 8 12 16 20 24 30 Количество запросов в секунду
  • 26. Обработка данных • Большое количество данных • Визуализация • Рассчеты • Высокая степень автоматизации Bash R-Project MS Excel gnuplot
  • 27. R-Project • Кроссплатформенность • Скриптование • Визуализация данных • Работает с миллионами строк данных • Бесплатен ;-)