The meaning and purpose of load testing
Load testing means testing a system by randomly increasing the load on the system. You can check how applications perform under normal and full load conditions, and breakpoints when they occur below full load conditions.
Load testing can determine the performance of components such as hardware, servers, and databases in advance. It also exposes application issues, including load balancing issues, bandwidth issues, and system capacity issues, so you can identify problems and manage anticipated future loads.
Load testing tool: Apache Jmeter
Apache JMeter was used as a load testing tool. Apache JMeter is an open source software mainly used to perform performance testing and load testing of web applications. JMeter is written in Java and supports a variety of protocols. This includes HTTP, HTTPS, SOAP, REST, FTP, JDBC, LDAP, and JMS.
1. Download the appropriate program for your OS from the Apache Jmeter site.
2. Apache-jmeter-5.xx → Run the ApacheJMeter.jar file in the bin (*JAVA must be installed to run.)
3. How to test and basic use of Jmeter
3-1. Creates a thread group.
3-2. Adding HttpRequest
3-3. Connect to a monitoring server that outputs test results
4. Run tests
Click the green play-shaped run icon in the Jmeter top menu to activate it.
Execution results can be checked through the Whatap monitoring service.
jMeter is a load testing tool, which allows you to test the performance of an application in various scenarios. However, it is difficult for JMeter itself to pinpoint the detailed performance issues occurring within the server. However, when used in conjunction with Watap Application Monitoring (APM), you can obtain additional information such as:
Provides real-time monitoring
You can use APM to monitor system performance in real time while applying load via jMeter. This provides the following benefits:
In addition to this, the user-friendly WhaTap UI makes analysis easier.
Examples of load testing scenarios:
First scenario
Second scenario
The third scenario
<1. View tree of results >
Disadvantage: The result tree must be saved manually for each test, and detailed information about the request is difficult to obtain.
<2. Comprehensive Report>
100 threads
200 threads
300 threads
Disadvantage: Analysis results had to be stored separately for each test, making it difficult to see the trend of results based on the number of threads.
<3. Response time graph>
5-minute response time trend for 300 threads
Shows how response time changes over time during test runs.
Disadvantage: The response time graph can be output, but the x-axis, which is the section I wanted to check, could not be set, and accurate response time analysis was not possible.
<트레이스 분석>
Since APM can know the information that occurs inside the server, it can check not only what transactions have occurred, but also server data.
<성능 추이 분석>
Through performance trend analysis, it is possible to analyze changes in performance and resource usage according to scenarios. This allows you to determine the resources required for the server.
<그외 히트맵 분석>
Horizontal line pattern
Overload pattern
Runaway pattern
By analyzing specific patterns in transactions, you can analyze where the problem occurred. Additionally, key analysis points related to load testing include:
Analyze how requests are handled at each layer of the application by tracking transactions through Whatap. For example, it tracks the flow of requests leading to a web server -> application server -> database server.
Identify performance bottlenecks :Identify time-consuming segments through transaction tracking. For example, determine whether a particular database query is running slowly.
Performance changes as load increases: Evaluates the scalability of a system by analyzing how system performance changes as load increases.
For more information on how to analyze WhaTap, please refer to the following