jmeter in the cloud - jk-itberatung.de putting your test ... ) and apache jmeter (see ... jmeter in...

15
JMeter in the Cloud Get Loaded!

Upload: vuongtruc

Post on 28-Mar-2018

234 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

JMeter in the Cloud

Get Loaded!

Page 2: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

2

Content

Content ............................................................................................................... 2

Changes ............................................................................................................. 3

This Document .................................................................................................... 3

Intended Audience .............................................................................................. 3

Prerequisites ....................................................................................................... 3

The Solution........................................................................................................ 4

Architectural Overview ........................................................................................ 5

Benefits ............................................................................................................... 6

Costs .................................................................................................................. 7

Tutorial: Putting your test in the cloud ................................................................. 7

Support ............................................................................................................. 14

Conclusion ........................................................................................................ 15

Page 3: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

3

Changes

15/06/2010 Disclaimer

11/27/2009 Added link to current AMI

11/18/2009 Added ssh hint

10/23/2009 Initial version

This Document

This document describes an Open Source based load test approach that uses

cloud computing facilities offered by amazon web services (see

http://aws.amazon.com/ ) and Apache JMeter (see

http://jakarta.apache.org/jmeter/ ).

Disclaimer

The test approach described in this document uses Apache JMeter. It is not

related in any way to JMeter. Please do _not_ address questions concerning

this approach to the jmeter users list. Please address any questions directly to

[email protected].

Intended Audience

The intended audience for this document consists of Test Managers, people

responsible for test infrastructure and tool selection, System Administrators and

people responsible for the development and execution of load tests.

Prerequisites

To understand the concepts and benefits of JMeter In The Cloud load test

Page 4: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

4

approach you will need the following:

• Common sense

To use JMeter In The Cloud load test approach you will need the following:

• Amazon Web Services account

• Basic knowledge of Amazon Web Services, especially ec2

• Basic knowledge of JMeter

The Solution

The solution is built upon the open source load test framework Apache JMeter

(see http://jakarta.apache.org/jmeter/ ). The JMeter is – next to The Grinder –

one of the most popular open source load tools.

As most serious load tools JMeter implements an Agent/Controller Architecture.

Within the JMeter framework the Controller is called “Master”. The master

coordinates several agent (aka “slave”) machines. Each slave machine controls

several worker threads. In order to generate load master and slave processes

run on different machines in the network. The number of slave machines – and

thereby the number of machines necessary to run the tests – increases with the

amount of load specified for the tests.

Master and slave machines are implemented as Amazon Machine Images (cf.

http://aws.amazon.com/ec2/#os ). A Starter Kit has been added that implements

the transparent start up of as many slaves as necessary. According to JMeter

logic the Starter Kit first starts up the slave machines. Once they are operational

it writes a proper jmeter.config by adding them as remote hosts. Then it starts

up the master (i.e. JMeter proper). From here on you can work as described in

http://jakarta.apache.org/jmeter/usermanual/jmeter_distributed_testing_step_by

Page 5: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

5

_step.pdf .

Please note: the Starter Kit only manages the start up of the slave machines

and the jmeter properties file. The jmeter distribution is not affected by the

Starter Kit.

Architectural Overview

The overall Architecture of the JMeter In The Cloud solution is shown below.

The tester talks from his machine to an instance of the Starter Kit amazon

machine image (AMI) containing all the necessary software (Starter Kit,

JMeter). The Starter Kit machine is accessed using a linux based remote

desktop application (NX client, available for unix and windows). For more

Page 6: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

6

information on the NX remote desktop application, please see:

http://www.nomachine.com/download.php . The Starter Kit instance starts up as

many slaves as requested. The slaves are implemented as AMIs and live in the

cloud. Once the slaves are operational the Starter Kit starts the jmeter master.

From here on the tests can be executed as described in the standard jmeter

documentation. If required the slaves can be accessed using commonly

available secure shell (ssh) tools. The slaves inject the load into the system

under test (SuT).

In case you need to access your slaves, connect to the instance with something

like “ssh –i itbjk.ppk root@yourslave”. You’ll find itbjk.ppk in ~/ on the master

machine.

Important: the instances run on real hardware. Each instance consists of a real

machine!

Benefits

This test approach has several benefits for you. To name but a few:

• Endless firepower at your fingertips

• Endless firepower at will

• Virtually no hardware required on your side

• No license fees

• Up and running in minutes

• Pay for real usage and not for future use

Page 7: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

7

Costs

The architecture comes at a very competitive price:

Master: 0,085 USD/h

Each slave: 0,085 USD/h

That’s it!

Tutorial: Putting your test in the cloud

Seeing is believing! To give you a better idea a few screenshots demonstrate

the ease of use.

Putting a load test in the cloud requires the following steps:

Sign in at amazon.

Page 8: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

8

Create a security group named “All Incoming”. The security group needs to

open tcp ports 22, 80, 1099 and udp port 161.

Use your favourite EC2 Client (e.g. Elasticfox

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609 )

to launch an instance of the jmeter-master AMI. You can always find the current

AMI at

http://developer.amazonwebservices.com/connect/entry.jspa?externalID=2924

or by filtering the available AMIs by itbjk.

Page 9: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

9

Note: your security group needs to open ports 22, 80, 1099 for tcp and 161 for

Page 10: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

10

udp.

Note: this linux AMI takes approx. 2’ to boot. Work is ongoing to cut boot time.

Once your master instance is up and running copy the public DNS name and

connect to the instance. Connect to instance using the free NX Client

(http://www.nomachine.com/download.php ). Configure a session with your

master’s public DNS name as host, a desktop of your choice.

Page 11: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

11

Connect with the user jmeter and the password jmeter.

The first time you connect the usual ssh message appears. Make up your mind

and say yes.

Start the “JMeter In The Cloud” application you find on the desktop.

Page 12: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

12

The application runs the Starter Kit. Enter the number of slaves you want to use

and your AWS credentials.

Page 13: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

13

The Starter Kit starts up the slaves. After they are up and running it inserts the

remote hosts in jmeter properties. It then starts the original apache jmeter using

the original jmeter start scripts. You are running an original jmeter installation

that has not been tampered with.

Operate your distributed tests as usual and as described by Apache (see

http://jakarta.apache.org/jmeter/usermanual/jmeter_distributed_testing_step_by

_step.pdf for details).

Page 14: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

14

After closing the jmeter application the starter kit shuts down the slaves.

Important: if the Starter Kit application that wraps jmeter terminates abnormally

and you do not see the shut down message you’ll have to manually shut down

the slaves. Otherwise they will not be terminated.

Enjoy! Destroy!

Support

In case you need further support, have questions, have comments, have feature

requests (reporting, monitoring, custom samplers, security), want to donate lots

of money, want to submit bug reports, etc. contact [email protected]

Page 15: JMeter in the Cloud - jk-itberatung.de Putting your test ...  ) and Apache JMeter (see ... JMeter in the Cloud leverages the well known JMeter load test framework by

15

In case you are interested in load test related consulting, consulting on test

processes, test specification, scripting, outsourcing of parts of the test process

or of the whole process please contact IT Beratung Jörg Kalsbach:

[email protected].

Conclusion

JMeter in the Cloud leverages the well known JMeter load test framework by

putting it in the cloud. It offers an easy to use load test framework with virtually

unlimited firepower at a competitive price.

Get loaded!