Why Web Services Performance is Crucial
What are Web Services?
Web services are the software components used to communicate across different platforms and exchange information, mainly in HTML or XML format. Web services also allow us to expose new functionality of existing code over the network and the Internet. Once it is exposed, any other application can access and use the functionality.
Web services are beneficial because they are loosely coupled, versatile, can integrate application transversely, can implement code re-use, and they are cost effective.
Why is this Critical?
Nowadays, web services are widely used in web applications, the mobile web, and native apps. Most of the time, mobile web or app perform web services calls to the server and perform methods such as – get, post, put, delete, option, head and trace.
With so many devices calling the web services API, it is crucial for the client to know the response time and throughput of the API. We can perform load testing, stress testing and performance testing of web services in the same way we do for web applications.
Web Service Performance Testing Approach
Here is the process:
- Identify the web service methods
- Define performance objective
- Identify the tool
- Identify and implement data model
- Specify workload
- Create test plan document
- Performance script creation
- Run the test (based on the specified workload)
- Gather data, analyze and performance report creation
- Re-run after refactoring/tuning
Web Service Performance Metrics
Below are the high level metrics that can be considered in web service performance testing:
- Server Side
- Server CPU and Memory Utilization
- Application resource monitoring — for example web server, DB server, etc.
- Application code monitoring
- Client Side
- Response Time
- Throughput
- Error rate
Tools Overview:
- VSTS Ultimate 2010
- This is a Microsoft-based license, in which we can create a unit test method for each web service API call. These can be further used in the load test.
We can use a ‘controller agent’ mechanism to run performance scripts to generate nth user load. Also, we can set-up the performance run over Windows Azure cloud virtual machines to generate load from different regions.
- JMeter
- This is an open source tool, in which we can create a thread group and request a sampler for each web service API call and listeners.
- We can use the JMeter project in Blaze Meter to perform executions over cloud.
Note: Apart from the above mentioned tools, there are various tools which also support web services performance testing like Neo Load, Load UI, etc.
To learn about Apexon’s single, unified solution for web, mobile (including native and web app) and web services testing, contact us here.