SlideShare a Scribd company logo
1 of 28
Сложности и практики
    тестирования
 производительности
           Владимир Вахлов,
           «Эксперт-система»
Производительность систем

•   Терминология
•   Метрики
•   Площадки для тестирования
•   Моделирование нагрузки
•   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

Viewers also liked

The next generation of testing tools for exchanges
The next generation of testing tools for exchangesThe next generation of testing tools for exchanges
The next generation of testing tools for exchangesIosif Itkin
 
SEC Regulation SCI Automation Review Compliance
SEC Regulation SCI Automation Review ComplianceSEC Regulation SCI Automation Review Compliance
SEC Regulation SCI Automation Review ComplianceIosif Itkin
 
Trading Clearing Systems Test Automation
Trading Clearing Systems Test AutomationTrading Clearing Systems Test Automation
Trading Clearing Systems Test AutomationIosif Itkin
 
Trading Systems: Testing at the Confluence of FT and NFT
Trading Systems: Testing at the Confluence of FT and NFTTrading Systems: Testing at the Confluence of FT and NFT
Trading Systems: Testing at the Confluence of FT and NFTIosif Itkin
 
EXTENT October 2011 - Test Automation for Trading Systems
EXTENT October 2011 - Test Automation for Trading SystemsEXTENT October 2011 - Test Automation for Trading Systems
EXTENT October 2011 - Test Automation for Trading SystemsIosif Itkin
 
TMPA-2014: Exactpro Pep Talk
TMPA-2014: Exactpro Pep TalkTMPA-2014: Exactpro Pep Talk
TMPA-2014: Exactpro Pep TalkIosif Itkin
 
EXTENT Trading Test Tools Evolution Theory
EXTENT Trading Test Tools Evolution TheoryEXTENT Trading Test Tools Evolution Theory
EXTENT Trading Test Tools Evolution TheoryIosif Itkin
 
Верификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиВерификация технологических платформ Лондонской фондовой биржи
Верификация технологических платформ Лондонской фондовой биржиIosif Itkin
 
Innovation in Quality Assurance – What is the Impact on Trading technology?
Innovation in Quality Assurance –  What is the Impact on Trading technology?Innovation in Quality Assurance –  What is the Impact on Trading technology?
Innovation in Quality Assurance – What is the Impact on Trading technology?Iosif Itkin
 
High Frequency Trading Infrastructure and Quality Assurance
High Frequency Trading Infrastructure and Quality AssuranceHigh Frequency Trading Infrastructure and Quality Assurance
High Frequency Trading Infrastructure and Quality AssuranceIosif Itkin
 
Exactpro: Non-functional testing approach
Exactpro: Non-functional testing approachExactpro: Non-functional testing approach
Exactpro: Non-functional testing approach Iosif Itkin
 
Extent 2013 Obninsk LSE - The Focus Beyond Low Latency
Extent 2013 Obninsk  LSE - The Focus Beyond Low LatencyExtent 2013 Obninsk  LSE - The Focus Beyond Low Latency
Extent 2013 Obninsk LSE - The Focus Beyond Low Latencyextentconf Tsoy
 
Extent 2013 Obninsk High Performance Messaging
Extent 2013 Obninsk High Performance MessagingExtent 2013 Obninsk High Performance Messaging
Extent 2013 Obninsk High Performance Messagingextentconf Tsoy
 
Extent 2013 Obninsk Managing Uncertain Data at Scale
Extent 2013 Obninsk Managing Uncertain Data at ScaleExtent 2013 Obninsk Managing Uncertain Data at Scale
Extent 2013 Obninsk Managing Uncertain Data at Scaleextentconf Tsoy
 
Exactpro Test Tools EXTENT Feb 2011
Exactpro Test Tools EXTENT Feb 2011Exactpro Test Tools EXTENT Feb 2011
Exactpro Test Tools EXTENT Feb 2011Iosif Itkin
 

Viewers also liked (15)

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

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

Грамотная отчетность нагрузочного тестирования
Грамотная отчетность нагрузочного тестированияГрамотная отчетность нагрузочного тестирования
Грамотная отчетность нагрузочного тестированияSQALab
 
энергосбережение в действии
энергосбережение в действииэнергосбережение в действии
энергосбережение в действииvgpl1
 
Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)
Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)
Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)Ontico
 
Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)
Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)
Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)Alexander Orlov
 
Bionic arduino class4_russian
Bionic arduino class4_russianBionic arduino class4_russian
Bionic arduino class4_russiansrgksch
 
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...it-people
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системDenis Pavlov
 

Similar to Сложности и практики тестирования производительности (9)

Грамотная отчетность нагрузочного тестирования
Грамотная отчетность нагрузочного тестированияГрамотная отчетность нагрузочного тестирования
Грамотная отчетность нагрузочного тестирования
 
энергосбережение в действии
энергосбережение в действииэнергосбережение в действии
энергосбережение в действии
 
Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)
Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)
Принципы автоматического масштабирования приложения в AWS / Антон Регеда (Juno)
 
Применение муравьиных алгоритмов
Применение муравьиных алгоритмовПрименение муравьиных алгоритмов
Применение муравьиных алгоритмов
 
Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)
Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)
Оценка проектов: шарлатанство или шаманство (Сергей Архипенков)
 
Bionic arduino class4_russian
Bionic arduino class4_russianBionic arduino class4_russian
Bionic arduino class4_russian
 
Иван Лысенко - "Нагрузил, что дальше?"
Иван Лысенко - "Нагрузил, что дальше?"Иван Лысенко - "Нагрузил, что дальше?"
Иван Лысенко - "Нагрузил, что дальше?"
 
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
DUMP-2015 «Микросервисная архитектура в теории и на практике» Иван Бурмистров...
 
подходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших системподходы к проектрованию, разработке и развертыванию больших систем
подходы к проектрованию, разработке и развертыванию больших систем
 

More from SQALab

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

More from SQALab (20)

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

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

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