SlideShare une entreprise Scribd logo
1  sur  29
Load testing of web applications
                    «Обзор и сравнение инструменов
                     нагрузочного тестирования»

         Евгений Дмитриченко,
         менеджер проектов
         компании «КвартСофт»
         dm@quart-soft.com

©2011. QuartSoft Corp.                        www.quartsoft.com
Цели тестирования

     Ответить на вопросы:
     • Выдержит ли сервер ожидаемую пиковую нагрузку?
     • Какой запас прочности сервера?
     • Где узкие места в системе?




©2011. QuartSoft Corp.                            www.quartsoft.com   2
Виды тестирования

     • Performance testing (производительности)
     • Resource utilization testing (утилизации ресурсов)
     • Stress testing (стрессовое)
     • Volume testing (объёмное)
     • Scalability testing (масштабируемости)




©2011. QuartSoft Corp.                                      www.quartsoft.com   3
Инструменты тестирования

    • Локальные системы:
      • ApacheBench
      • Jmeter
      • WAPT
      • HP LoadRunner
    • Онлайновые системы:
      • Load Impact
      • LoadStorm
      • BrowserMob




©2011. QuartSoft Corp.         www.quartsoft.com   4
ApacheBench
            Простой в использовании
            Кроссплатформенный
            Бесплатный




©2011. QuartSoft Corp.                 www.quartsoft.com   5
ApacheBench
    $ ab   -c 100 -t 30 -n 10000 -k http://www.example.com

    Concurrency Level: 100
    Time taken for tests: 30.033 seconds
    Complete requests: 6912
    Failed requests: 0
    Write errors: 0
    Keep-Alive requests: 0
    Total transferred: 5840304 bytes
    HTML transferred: 4018240 bytes
    Requests per second: 230.14 [#/sec] (mean)
    Time per request: 434.511 [ms] (mean)
    Time per request: 4.345 [ms] (mean, across all concurrent requests)
    Transfer rate: 189.90 [Kbytes/sec] received

    Connection Times (ms)
    min mean[+/-sd] median max
    Connect: 136 188 200.4 175 3579
    Processing: 137 242 171.6 200 5425
    Waiting: 137 218 162.1 175 5399
    Total: 274 431 267.6 376 5602

    Percentage of the requests served within a certain time (ms)
    50% 376
    …
    95% 746
    98% 948
    99% 1173
    100% 5602 (longest request)


©2011. QuartSoft Corp.                                                    www.quartsoft.com   6
Apache JMeter
            запись сценариев через проксирование
            поддержка источников динамических данных в виде
           файлов CSV
            возможность отладки сценария теста
            поддержка сессий пользователей, авторизации
            поддержка HTTPS
            наглядное представление результатов
           тестирования, развернутый отчет
            имеет возможность подключать сторонние
           плагины, расширяющие его возможности
            возможность распределенного тестирования
            Кроссплатформенный
           – Требователен к ресурсам
           – Требуется время на изучение

©2011. QuartSoft Corp.                                www.quartsoft.com   7
Apache JMeter




©2011. QuartSoft Corp.   www.quartsoft.com   8
Apache JMeter




©2011. QuartSoft Corp.   www.quartsoft.com   9
WAPT
            автоматизированная запись тестов
            удобный, понятный интерфейс
            симуляция реальных действий пользователей
            различные типы пользователей в одном тесте
            поддержка сессий пользователей, авторизации
            поддержка HTTPS
            наглядное представление результатов
           тестирования, развернутый отчет
            возможность распределенного тестирования
           – только под Windows


©2011. QuartSoft Corp.                                www.quartsoft.com   10
WAPT




©2011. QuartSoft Corp.   www.quartsoft.com   11
WAPT




©2011. QuartSoft Corp.   www.quartsoft.com   12
HP LoadRunner
     • Virtual User Generator (VuGen) — служит для разработки
     нагрузочных скриптов.
     • Load Generator — служит для генерации нагрузки (генерации
       виртуальных пользователей).
     • Controller — служит для разработки и запуска сценариев
       нагрузки.
     • Analysis — служит для анализа результатов нагрузочного
       тестирования.




©2011. QuartSoft Corp.                               www.quartsoft.com   13
HP LoadRunner
     Умеет все, что умеют остальные инструменты плюс:
      позволяет мониторить системные ресурсы сервера
      подробное логирование действий каждого виртуального
       пользователя
      работает с Web 2.0 технологиями: Ajax, Silverlight, Java etc
      позволяет тестировать различные виды приложений:
       мобильные, RIA, облачные.
      и многое другое
     – ценовая политика




©2011. QuartSoft Corp.                                   www.quartsoft.com   14
HP LoadRunner




©2011. QuartSoft Corp.   www.quartsoft.com   15
Минусы локальных инструментов

     • высокое требование к ресурсам

     • необходимость построения и поддержания
          инфраструктуры для распределенного тестирования

     • ограничения входящего интернет-канала




©2011. QuartSoft Corp.                          www.quartsoft.com   16
LoadImpact

             автоматизированная запись тестов
             удобный, понятный интерфейс
             наглядное представление результатов
             распределенное тестирование




©2011. QuartSoft Corp.                              www.quartsoft.com   17
LoadImpact




©2011. QuartSoft Corp.   www.quartsoft.com   18
LoadImpact




©2011. QuartSoft Corp.   www.quartsoft.com   19
LoadStorm
            наглядное представление результатов
            распределенное тестирование
           – создание сценариев вручную
           – запутанный интерфейс




©2011. QuartSoft Corp.                             www.quartsoft.com   20
LoadStorm




©2011. QuartSoft Corp.   www.quartsoft.com   21
LoadStorm




©2011. QuartSoft Corp.   www.quartsoft.com   22
LoadStorm




©2011. QuartSoft Corp.   www.quartsoft.com   23
LoadStorm




©2011. QuartSoft Corp.   www.quartsoft.com   24
BrowserMob
            удобный, понятный интерфейс
            наглядное представление результатов тестирования
            распределенное тестирование
            импорт скриптов из Selenium
            можно использовать реальных пользователей наряду с
           виртуальными




©2011. QuartSoft Corp.                                www.quartsoft.com   25
BrowserMob




©2011. QuartSoft Corp.   www.quartsoft.com   26
BrowserMob




©2011. QuartSoft Corp.   www.quartsoft.com   27
Выводы

           • локальные системы более функциональные
           • но локальные системы требуют построения
           инфраструктуры для распределенного тестирования
           • онлайновых для большинства случаев хватает
           • онлайновые системы имеют гибкую ценовую
           политику по принципу "платишь за то, что
           используешь"



©2011. QuartSoft Corp.                                www.quartsoft.com   28
Вопросы? Спасибо!
    Дмитриченко Евгений
    Менеджер проектов
    компании «КвартСофт»


    dm@quart-soft.com
    quartsoft.com


©2011. QuartSoft Corp.                       www.quartsoft.com   29

Contenu connexe

Similaire à Load Testing

Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...SQALab
 
Нагрузочное тестирование сайтов
Нагрузочное тестирование сайтовНагрузочное тестирование сайтов
Нагрузочное тестирование сайтовMageCloud
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, SkypeOntico
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложенийAlexander Khozya
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debuggingAlexey Bokov
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Alexei Lupan
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоАлександр Ежов
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingIevgenii Katsan
 
Практика тестирования web сервисов
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисовSQALab
 
Hawkeye proactive-monitoring-ru-new
Hawkeye proactive-monitoring-ru-newHawkeye proactive-monitoring-ru-new
Hawkeye proactive-monitoring-ru-newMUK Extreme
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_haElena Ometova
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияElias Fofanov
 
Project lifecircle
Project lifecircleProject lifecircle
Project lifecircleMageCloud
 
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)Ontico
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QAFest
 
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...SQADays_2009_Piter
 

Similaire à Load Testing (20)

Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
Полная автоматизация развертываний ПО: общие концепции, пример реализации, ср...
 
Нагрузочное тестирование сайтов
Нагрузочное тестирование сайтовНагрузочное тестирование сайтов
Нагрузочное тестирование сайтов
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Павел Брылов, Skype
Павел Брылов, SkypeПавел Брылов, Skype
Павел Брылов, Skype
 
Тестирование мобильных приложений
Тестирование мобильных приложенийТестирование мобильных приложений
Тестирование мобильных приложений
 
Azure web apps - designing and debugging
Azure web apps  - designing and debuggingAzure web apps  - designing and debugging
Azure web apps - designing and debugging
 
EMC ScaleIO
EMC ScaleIOEMC ScaleIO
EMC ScaleIO
 
Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)Sqadays 2010 burmistrov_fomin_20101120(2)
Sqadays 2010 burmistrov_fomin_20101120(2)
 
FT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это простоFT & HA Rails приложений приложений — это просто
FT & HA Rails приложений приложений — это просто
 
Отличие NGFW и UTM
Отличие NGFW и UTMОтличие NGFW и UTM
Отличие NGFW и UTM
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testing
 
Практика тестирования web сервисов
Практика тестирования web сервисовПрактика тестирования web сервисов
Практика тестирования web сервисов
 
Hawkeye proactive-monitoring-ru-new
Hawkeye proactive-monitoring-ru-newHawkeye proactive-monitoring-ru-new
Hawkeye proactive-monitoring-ru-new
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
Вячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестированияВячеслав Смирнов - Инструменты нагрузочного тестирования
Вячеслав Смирнов - Инструменты нагрузочного тестирования
 
Project lifecircle
Project lifecircleProject lifecircle
Project lifecircle
 
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
Виртуализированный highload (NFV), Александр Шалимов (ЦПИКС)
 
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
QA Fest 2019. Александр Хотемской. WebdriverIO + Puppeteer. Double gun - doub...
 
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
Алексей Кабанов, Автоматизируем Rich Internet Applications с нуля на примере ...
 

Load Testing

  • 1. Load testing of web applications «Обзор и сравнение инструменов нагрузочного тестирования» Евгений Дмитриченко, менеджер проектов компании «КвартСофт» dm@quart-soft.com ©2011. QuartSoft Corp. www.quartsoft.com
  • 2. Цели тестирования Ответить на вопросы: • Выдержит ли сервер ожидаемую пиковую нагрузку? • Какой запас прочности сервера? • Где узкие места в системе? ©2011. QuartSoft Corp. www.quartsoft.com 2
  • 3. Виды тестирования • Performance testing (производительности) • Resource utilization testing (утилизации ресурсов) • Stress testing (стрессовое) • Volume testing (объёмное) • Scalability testing (масштабируемости) ©2011. QuartSoft Corp. www.quartsoft.com 3
  • 4. Инструменты тестирования • Локальные системы: • ApacheBench • Jmeter • WAPT • HP LoadRunner • Онлайновые системы: • Load Impact • LoadStorm • BrowserMob ©2011. QuartSoft Corp. www.quartsoft.com 4
  • 5. ApacheBench  Простой в использовании  Кроссплатформенный  Бесплатный ©2011. QuartSoft Corp. www.quartsoft.com 5
  • 6. ApacheBench $ ab -c 100 -t 30 -n 10000 -k http://www.example.com Concurrency Level: 100 Time taken for tests: 30.033 seconds Complete requests: 6912 Failed requests: 0 Write errors: 0 Keep-Alive requests: 0 Total transferred: 5840304 bytes HTML transferred: 4018240 bytes Requests per second: 230.14 [#/sec] (mean) Time per request: 434.511 [ms] (mean) Time per request: 4.345 [ms] (mean, across all concurrent requests) Transfer rate: 189.90 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 136 188 200.4 175 3579 Processing: 137 242 171.6 200 5425 Waiting: 137 218 162.1 175 5399 Total: 274 431 267.6 376 5602 Percentage of the requests served within a certain time (ms) 50% 376 … 95% 746 98% 948 99% 1173 100% 5602 (longest request) ©2011. QuartSoft Corp. www.quartsoft.com 6
  • 7. Apache JMeter  запись сценариев через проксирование  поддержка источников динамических данных в виде файлов CSV  возможность отладки сценария теста  поддержка сессий пользователей, авторизации  поддержка HTTPS  наглядное представление результатов тестирования, развернутый отчет  имеет возможность подключать сторонние плагины, расширяющие его возможности  возможность распределенного тестирования  Кроссплатформенный – Требователен к ресурсам – Требуется время на изучение ©2011. QuartSoft Corp. www.quartsoft.com 7
  • 8. Apache JMeter ©2011. QuartSoft Corp. www.quartsoft.com 8
  • 9. Apache JMeter ©2011. QuartSoft Corp. www.quartsoft.com 9
  • 10. WAPT  автоматизированная запись тестов  удобный, понятный интерфейс  симуляция реальных действий пользователей  различные типы пользователей в одном тесте  поддержка сессий пользователей, авторизации  поддержка HTTPS  наглядное представление результатов тестирования, развернутый отчет  возможность распределенного тестирования – только под Windows ©2011. QuartSoft Corp. www.quartsoft.com 10
  • 11. WAPT ©2011. QuartSoft Corp. www.quartsoft.com 11
  • 12. WAPT ©2011. QuartSoft Corp. www.quartsoft.com 12
  • 13. HP LoadRunner • Virtual User Generator (VuGen) — служит для разработки нагрузочных скриптов. • Load Generator — служит для генерации нагрузки (генерации виртуальных пользователей). • Controller — служит для разработки и запуска сценариев нагрузки. • Analysis — служит для анализа результатов нагрузочного тестирования. ©2011. QuartSoft Corp. www.quartsoft.com 13
  • 14. HP LoadRunner Умеет все, что умеют остальные инструменты плюс:  позволяет мониторить системные ресурсы сервера  подробное логирование действий каждого виртуального пользователя  работает с Web 2.0 технологиями: Ajax, Silverlight, Java etc  позволяет тестировать различные виды приложений: мобильные, RIA, облачные.  и многое другое – ценовая политика ©2011. QuartSoft Corp. www.quartsoft.com 14
  • 15. HP LoadRunner ©2011. QuartSoft Corp. www.quartsoft.com 15
  • 16. Минусы локальных инструментов • высокое требование к ресурсам • необходимость построения и поддержания инфраструктуры для распределенного тестирования • ограничения входящего интернет-канала ©2011. QuartSoft Corp. www.quartsoft.com 16
  • 17. LoadImpact  автоматизированная запись тестов  удобный, понятный интерфейс  наглядное представление результатов  распределенное тестирование ©2011. QuartSoft Corp. www.quartsoft.com 17
  • 18. LoadImpact ©2011. QuartSoft Corp. www.quartsoft.com 18
  • 19. LoadImpact ©2011. QuartSoft Corp. www.quartsoft.com 19
  • 20. LoadStorm  наглядное представление результатов  распределенное тестирование – создание сценариев вручную – запутанный интерфейс ©2011. QuartSoft Corp. www.quartsoft.com 20
  • 21. LoadStorm ©2011. QuartSoft Corp. www.quartsoft.com 21
  • 22. LoadStorm ©2011. QuartSoft Corp. www.quartsoft.com 22
  • 23. LoadStorm ©2011. QuartSoft Corp. www.quartsoft.com 23
  • 24. LoadStorm ©2011. QuartSoft Corp. www.quartsoft.com 24
  • 25. BrowserMob  удобный, понятный интерфейс  наглядное представление результатов тестирования  распределенное тестирование  импорт скриптов из Selenium  можно использовать реальных пользователей наряду с виртуальными ©2011. QuartSoft Corp. www.quartsoft.com 25
  • 26. BrowserMob ©2011. QuartSoft Corp. www.quartsoft.com 26
  • 27. BrowserMob ©2011. QuartSoft Corp. www.quartsoft.com 27
  • 28. Выводы • локальные системы более функциональные • но локальные системы требуют построения инфраструктуры для распределенного тестирования • онлайновых для большинства случаев хватает • онлайновые системы имеют гибкую ценовую политику по принципу "платишь за то, что используешь" ©2011. QuartSoft Corp. www.quartsoft.com 28
  • 29. Вопросы? Спасибо! Дмитриченко Евгений Менеджер проектов компании «КвартСофт» dm@quart-soft.com quartsoft.com ©2011. QuartSoft Corp. www.quartsoft.com 29