Load testing for web application
In one of our projects, we faced a problem of slow web application loading. This problem appeared at a specific time of the day that was directly related to the highest peak of user activity. So we needed to find out what was the exact amount of users that caused the slow loading.
Therefore, it was decided to perform load testing to identify the number of users which, apparently, caused the slowdown of the web application. JMeter was chosen to solve this problem. This is a universal tool for load and API testing, and it comprises a lot of reporting tools.
The first thing that we had to do was to create a “Thread group” in the “Thread Properties” section. We indicated the number of users who would visit our resource. For the first test, we chose 150 users, set the period of time in one second (when the users visited our resource) and set a 60-second time period as the duration the users could visit our web application.
The next step was to add a “HTTP Request” as an additional setting for the “Thread group”. Then we wrote the URL address of our web application in the “Server name or Ip” field, and filled in the fields for “Connect” and “Response” duration, setting the time as 400 milliseconds. Then, we selected “Java” in the “Implementation” section, “https” in the “Protocol” section, “Get” in the “Method” section and set “utf-8” as the type encoding for our application. We made one more additional setting for reporting, which enabled our team to get reports for all the requests that had been sent to the web application. Thus, we could see if some of the requests failed. After the settings were made, we launched our test and it successfully finished.
Next, we decided to increase the number of users up to 200 in one second, and this test showed that some of the requests failed, but still the system worked correctly. Afterwards, we increased the number of users up to 250 in one second. As a result, 25% of the requests failed and the web application worked slower at the moment of testing. With this method, we found out that the number of 250 users per second was too large for our resource and the power needed to be increased since the attendance of our website was growing every day.