Mar 28

Web Services are tested for throughput, efficiency, and response simulating real-world conditions. A well designed load-testing strategy can simulate real-world load and performance scenarios with minimal hassle and cost. User loads and network conditions of varying nature can be effortlessly created and replicated. Testing can be undertaken till the output charts show a performance range considered acceptable for an application of its nature. Load-testing results can hence be taken as a strong indicator of application performance in actual business environments.

Adding Thread Group: Thread group element controls the number of threads. Thread group allows the following controls:

1. Set the number of threads

2. Set the ramp-up period

3. Set the number of times to execute the test plan (Loop)

First control tells JMeter to execute the number of threads to execute the test.

Second control tells JMeter how long to “ramp-up” to the full number of thread chosen.

If 10 threads are used, and the ramp-up period is 100 seconds, then JMeter will take 100 seconds to get all 10 threads up and running. Each thread will start 10 (100/10) seconds after the previous thread was begun.

Third control tells Jmeter how many times to execute the test plan.

Adding WebServices Requests: Samplers are used to tell Jmeter to send requests to a server. For load/stress testing of WebServices select WebService (Soap) Request sampler.

Step 1: On Thead Group use Add–> Sampler--> WebService (Soap) Request.

Step 2: Enter the WSDL URL and click on “Load WSDL”.

If the WSDL was loaded successfully, the “Web Methods” drop down should be populated. Otherwise it will prompt some error or exception.

Step 3: Select the web method and click “Configure”. The sampler populates the “URL”, Path and “SOAPAction” text fields. Change the proxy setting of the browser i.e. Http Proxy: localhost; Port: 8080.

Step 4: Paste the SOAP message in the “SOAP/XML-RPC Data” text area. We can optionally save the soap message to a file and browse to the location. We can also use message folder.

The sampler will randomly select files from a given folder and use the text for the soap message.

Jmeter1 (2)

Adding Listener to Store or view Test results: Listeners are use for storing all of the results of your HTTP requests in a file and presenting a visual model of the data. Select Add–>Listener–>View Results Tree (Select the type of graph you want to use as listener).

From run menu run the test plan. The result will be stored in the listener.

Load Testing Metrics and Parameters
The results obtained by load testing Web Services can potentially be reflected in terms of the following parameters.

Response time: It’s the most important parameter to reflect the quality of a Web Service. Response time is the total time it takes after the client sends a request till it gets a response.

Number of transactions passed/failed: This parameter simply shows the total number of transactions passed or failed.

Throughput: It’s measured in bytes and represents the amount of data that the virtual users receive from the server at any given second. We can compare this graph to the response-time graph to see how the throughput affects transaction performance.

Load size: The number of concurrent virtual users trying to access the Web Service at any particular instance in an interval of time.

CPU utilization: The amount of CPU time used by the Web Service while processing the request.

Memory utilization: The amount of memory used by the Web Service while processing the request.

Wait Time (Average Latency): The time it takes from when a request is sent until the first byte is received.

Sample Graph Result: Below is the sample graph result for a load test of webservices.


References: Apache JMeter by  Emily H. Halili essays writers

5,168 Responses to “Testing WebServices Using JMeter”

Leave a Reply

preload preload preload