You are on page 1of 35

Apache Jmeter 5.

0
by
Shay Ginsbourg

bit.ly/TestIL-FB www.testingworld.co.il Magazine


bit.ly/TW-Reg
bit.ly/TestIL
http://bit.ly/Test_IL-Teleg
http://bit.ly/TestIL-Slack

Supported by:
Ginsbourg.com
APACHE JMETER 5.0

PERFORMANCE
VALIDATION
SOLUTION

Q4 2018 – Q1 2019
Ginsbourg.com 3

 Shay Ginsbourg

 Regulatory & Testing Affairs Consultant 2008

 Formerly QA Manager of LoadRunner at


Mercury Interactive (NASDAQ-100)

 M.Sc. Cum Laude Bio-Medical Engineering


2003 Tel Aviv University

 M.Sc. Mechanical Engineering 1996


Technion
Ginsbourg.com 4

 Performance Validation & Load Testing Process:

 Requirements

 Planning

 Setup

 Recording
 Replaying
 Testing
 Staging
 Production
 Reporting
Ginsbourg.com 5

 Concurrency Testing Setup


Client side solution:

OS:Linux/Windows Server 64-bit


JVM (JMeter now supports JAVA 9) java.com
Apache Jmeter 5.0
Jmeter Plug-ins 1.3
Ginsbourg.com 6

 The Apache Software Foundation (ASF) is an


American non-profit corporation to support Apache
software projects, including the Apache HTTP Server.
The ASF was formed from the Apache Group in 1999.
 The Apache Software Foundation is a decentralized
open source community of developers. The software
they produce is distributed under the terms of the
Apache License and is Free and Open-Source
Software (FOSS).
 Projects: HTTP Server, OpenOffice, Groovy, NetBeans,
Maven, Jmeter, and many more.
Ginsbourg.com 7

 Apache JMeter is open source software,


a 100% pure Java desktop application
designed to load test functional behavior
and measure performance.
It was originally designed for testing Web
Applications but has since expanded to
other test functions.

 Protocols: Web - HTTP, HTTPS; SOAP/REST; FTP;


TCP; Database via JDBC; LDAP; Mail -
SMTP(S), POP3(S) and IMAP(S); Native
commands or shell scripts;

IMAP = Internet Message Access Protocol


JDBC = Java Database Connectivity
LDAP = Lightweight Directory Access Protocol
Ginsbourg.com 8

Run Demo
Ginsbourg.com 9

Active Threads Over Time is a simple listener showing how many


active threads are there in each thread group during test run.
Ginsbourg.com 10

This graph displays the hits per second generated by the test plan to the server.
Hits include child samples from transactions and embedded resources hits.
Ginsbourg.com 11

This graph displays the response code per second


returned from the server during the load test.
Ginsbourg.com 12

Latency + Processing Time


= Response Time

This graph displays the response time distribution during the test.
The X axis shows the response times grouped by interval, and the
Y axis the number of samples which are contained in each interval.
Ginsbourg.com 13

This graph displays for each sampler the average response time in milliseconds.
Ginsbourg.com 14

This graph displays the percentiles for the response time values. The X Axis
represents percentage, and the Y Axis Response time values. One point (P, Value)
means for the whole scenario, P percent of the values are bellow Value ms.
Ginsbourg.com 15

This graph shows how Response Time changes with amount of parallel
threads. Naturally, server takes longer to respond when a lot of users
requests it simultaneously. This graph visualizes such dependencies.
Ginsbourg.com 16

This graph shows the number of transactions per second for each
sampler. It counts for each seconds the number of finished transactions.
Ginsbourg.com 17

During a load test, it is important to monitor the servers (localhost, Load


balancer, web server, app server, database server). Thee monitored
parameters include: CPU, Memory, Swap, Disks I/O and Networks I/O.
Ginsbourg.com 18

 New in versions 4.0-5.0:

New XPath2 Extractor allows the user to extract value(s) from


structured response - XML or (X)HTML - using XPath2 query language.
Ginsbourg.com 19

 New in versions 4.0-5.0:

New XPath2 Extractor allows the user to extract value(s) from


structured response - XML or (X)HTML - using XPath2 query language.
Ginsbourg.com 20

 New in versions 4.0-5.0:

New Boundary Extractor element available provides easy extraction


with better performances.
Ginsbourg.com 21

 New in versions 4.0-5.0:

New Boundary Extractor element available provides easy extraction


with better performances.
Ginsbourg.com 22

 New in versions 4.0-5.0:

New JSON Assertion element available to assert on JSON responses.

JSON = JavaScript Object Notation


Ginsbourg.com 23

 New in versions 4.0-5.0:

New JSON Assertion element available to assert on JSON responses.


Ginsbourg.com 24

 New in versions 4.0-5.0:

New JSON Assertion element available to assert on JSON responses.


Ginsbourg.com 25

 New in versions 4.0-5.0:

New JSON Assertion element available to assert on JSON responses.


Ginsbourg.com 26

 New in versions 4.0-5.0:

New JSON Assertion element available to assert on JSON responses.


Ginsbourg.com 27

 New in versions 4.0-5.0:


Ginsbourg.com 28

 New in versions 4.0-5.0:


Ginsbourg.com 29

 Conversion of LoadRunner scripts:

 Online conversion
 Double proxy
Ginsbourg.com 30

 Recording scripts from mobile


applications and tablets of
all types and operating systems:

 Double proxy
Ginsbourg.com 31

 LINUX vs. Windows:


Ginsbourg.com 32

 LINUX vs. Windows:


Ginsbourg.com 33

 LINUX vs. Windows:


Ginsbourg.com 34

sginsbourg@gmail.com

054-6690915
Thank
You

Supported by:

You might also like