Apache JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного тестирования
1. Software quality assurance days
21 Международная конференция
по вопросам качества ПО
sqadays.com
Москва. 26–27 мая 2017
Рогожников Максим
Перфоманс Лаб. Ижевск, Россия
Apche JMeter vs LoadRunner: на заре
справедливости, сравнение инструментов
нагрузочного тестирования
2. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
Количество поисковых запросов Google Job Trends
2012 2013 2014 2015 2016
2005 2007 2009 2011 2013 2015
2
Введение
— HP LoadRunner
— Apache JMeter
— HP LoadRunner
— Apache JMeter
3. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
3
Сравнение функциональных возможностей
№ Критерий Apache JMeter HP LoadRunner
1 Лицензия Open Source — GNU GPL. Бесплатный.
Proprietary. Постоянная лицензия $495 за 1 VU или
0,56$ за однодневную.
2 Производитель Apache Hewlett-Packard
3
Поддерживаемые
стандарты
16
Более 30 протоколов, включая такие как
экзотические RDP, Citrix и SAPGUI.
4 Язык скриптования Java C, Java
5
Мониторинг в реальном
времени
Да, но ограниченный по функциональности Да
6 Сообщество Open source сообщество Официальное сообщество HP
7
Платформа на которой
базируется инструмент
Java (Platform independent )
Microsoft Windows (server parts require
ASP.NET)Performance Center requires several
Windows Servers. Unix/Linux for load-generator is
supported though.
8 Компоновка сценария НТ
Один скрипт может содержать множество
групп тредов и сценариев
Один сценарий может содержать другие сценарии
9 Генератор нагрузки Не ограничен Ограничен и зависит от типа лицензии
10
Минимальные системные
требования
Наличие JVM 7 (2.3 GHz, 124 MB RAM, 512
MB)
1.6 GHZ, 2 GB RAM, 1024 x 768, 40 GB, Windows 7
SP1 или Windows Server 2008 R2 SP1 64-bit
4. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
4
А если проще?
5. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
Инструменты
• Apache JMeter non-GUI
• Apache JMeter GUI
• HP LoadRunner
Протоколы
• Web/HTTP
• SOAP
• ODBC Oracle
5
Сравнение в рамках НТ
6. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
6
Выполняемые операции:
• открытие 9 страниц;
• получение 12 параметров
из ответа сервера.
Используется:
• Flask + nginx.
Описание сценариев: скрипт WEB
7. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
7
Выполняемые операции:
• отправка трёх запросов;
• получение двух параметров
из ответа сервера.
Используется:
• GlassFish 4.1.1.
Описание сценариев: скрипт SOAP
8. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
8
Выполняемые операции:
• select;
• insert;
• update.
Используется:
• Oracle Database 1202g
Express Edition.
Описание сценариев: скрипт DB
9. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
9
Как определяли максимум?
10. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
10
VU Интенсивность запросов
0
1000
2000
3000
4000
5000
6000
7000
Apache JMeter
GUI
Apache JMeter
non-GUI
HP LoadRunner
Количество виртуальных пользователей HTTP
Количество виртуальных пользователей SOAP
Количество виртуальных пользователей ODBC
0
2500
5000
7500
10000
12500
15000
17500
20000
22500
25000
27500
Apache JMeter
GUI
Apache JMeter
non-GUI
HP
LoadRunner
Интенсивность запросов HTTP, кол/мин.
Интенсивность запросов SOAP, кол/мин.
Интенсивность запросов ODBC, кол/мин.
Сравнение протоколов
11. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
11
8000 кол/мин
13800 кол/мин
21570 кол/мин
2400 VU 3000 VU 3600 VU
0
5000
10000
15000
20000
25000
Apache JMeter GUI Apache JMeter non-GUI HP LoadRunner
Интенсивность запросов, кол/мин. Количество виртуальных пользователей
Сложный алгоритм
12. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
12
Утилизация CPU Утилизация памяти
23,9%
15,3%
50,8%
0,9 шт. 0,4 шт.
10,6 шт.
Apache JMeter
GUI
Apache JMeter
non-GUI
HP LoadRunner
Утилизация CPU
Длина очереди CPU
36,4% 34,1% 32,3%
62,9% 61,4%
42,3%
Apache JMeter
GUI
Apache JMeter
non-GUI
HP LoadRunner
Утилизация памяти
Утилизация файла подкачки
Стабилизированная нагрузка
13. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
13
33%
67%
HP LoadRunner
Apache JMeter
Статистика реализованных проектов
14. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
14
• Максимальная производительность
достигается при использовании
Apache JMeter non-GUI.
• HP LoadRunner + скрипт на C
быстрее JMeter + Groovy.
• HP LoadRunner больше
утилизирует нагрузочную станцию
по CPU.
• Доминирование HP LoadRunner
уходит в прошлое.
Выводы
15. Apche JMeter vs LoadRunner: на заре справедливости, сравнение инструментов нагрузочного
тестирования
Спасибо за внимание!
Контактная информация:
+7 (912) 873-81-42
m.rogozhnikov@pflb.ru
http://performance-lab.ru/