Industry: Shipping & Logistics
The client is one of the leading organizations in the logistic industry offering global intermodal SaaS solution across the globe facilitating 20 million business transactions annually.
With the optimum efficiency, secure transaction chain, and modern software products, the client is the largest supply chain solution provider in the USA and operates in numerous countries.
The idea behind performance testing of this application was to ascertain the compatibility of JMeter with the architecture of the application and how fast a system performs under a particular workload to validate the quality attributes of the system such as scalability, reliability and resource usage of the application under Test.
Performance test explores several system qualities that can be simplified as:
Speed – does the system respond quickly enough?
Scalability – can the system grow to handle future volumes?
Stability – does the system behave correctly under load?
During performance testing activity we confronted 4 major challenges:
In the application, there is functionality called Adding Containers to watch list. We need to add multiple containers for at least 10-15 users of the applications.
We need to add a unique set of container data for at least 3-4 users of the applications.
After execution of a performance script for 10 users, the aggregate report was generated. calculating the throughput for multiple requests was a challenge.
The client had a requirement to throttle the network speed so that JMeter runs the performance script in the allocated network speed only.
Using multiple CSV files
To overcome this challenge, we examined the request and response of adding containers to the watch list. We wanted to add multiple containers for at least 15 users of the application. We used one loop controller and two CSV Data Set Config having two CSV files. Once ready with all these necessary configurations, we executed the script and to our satisfaction, we noted that all the 5 containers were added in the application for all the 15 users.
Using multiple CSV files and passing a unique set of data for each thread
As a solution to this challenge, we examined the request and response of adding containers to the watch list. We wanted to add a unique set of containers for 4 users of the application, and we successfully did it.
Calculation of throughput for multiple requests
After lots of analysis, we found a formula to calculate throughput value for multiple samples.
Suppressing network bandwidth in JMeter as per the requirement to run the test in allocated speed limit
We came across a requirement from client to suppress the network bandwidth in JMeter in order to execute the script in a defined network speed. By changing some configuration, we met the client’s requirement.