We can easily run performance tests against Soap/Rest web services by using JMeter. REST web services uses the HTTP request method with most popular protocols like : GET and POST.
The responses return status codes indicating success or failure, along with any applicable headers, and JSON representing the affected fields (or nothing) in the message-body. In this example below, we use OpenWeatherApi for web service test. For detailed information for the api, please visit the site: http://openweathermap.org/api
Api to test (lookup the weather forecast by City name)
Examples of forecast data for every 3 hours: You can get weather forecast for 5 days with data for every 3 hours. All weather data can be obtained in JSON or XML format. Call by city name at XML format api.openweathermap.org/data/2.5/forecast?q=London,us&mode=xml Call by geographic coordinats at JSON format api.openweathermap.org/data/2.5/forecast?lat=35&lon=139 Call by city ID api.openweathermap.org/data/2.5/forecast?id=524901
Step 1: Define number of users in the Thread Group. In this example, we create one group with 5 users and another group with 10 users. (Thread Group)
Step 2: Add a HTTP Request to your Thread Group (Add -> Sampler -> HTTP Request)
Step 3: Fill in the Server Name or IP, path and choose GET method. Add parameters to the request.
Step 4: Add View Result Tree, View Result in Table, and Response Time in Graph (Add - > Listener -> View Results Tree; Add -> Listener -> View Results in Table; Add -> Listener - Response Time in Graph)
Step 5: Run script and check the result.
5 User Result
5 User Table Result
10 User Result
When 10 users hit the service, the average response time is 41 ms; however, when 5 users hit the service, the average response time is 40 ms. The difference is 1 ms. We can conclude that the api service performance works similar for 5 or 10 concurrent users.