Throughout the performance testing process, monitoring plays a vital role. After the performance test starts, you need to observe in real time whether all the indicators of the performance test are normal, including application servers, databases, and middleware. Once exceptions are detected, the system can be corrected in time to ensure smooth performance testing. In addition, the system bottleneck can also be found during monitoring, and performance testing can be properly stopped to avoid repeated work.
I personally think that, first of all, the extensive performance test monitoring should be done in stages, including pre-execution, execution, and post-execution monitoring.
Before Execution:
When the environment is set up, monitoring determines the purity of the performance test environment, and no other resources are in use. Check whether the initial values of CPU, mem, Loa, and I/O are normal.
Executing:
The monitoring content includes monitoring of virtual user execution, scenario status, Transaction Response Time, server resource usage, operating system and hardware. In addition, the most important thing is the running status of the testing machine, including CPU and mem. Whether to meet the requirements of the current performance testing type, such as performance testing, stress testing, and load testing.
In addition to LoadRunner and other monitoring tools, you can also use auxiliary tools to monitor some scheduled services, night monitoring, and write shell scripts.
Monitoring can be divided into several categories: tool monitoring, test case monitoring, test method monitoring, progress, and test environment monitoring.
Suggestion: create a monitoring site list and determine the monitoring target. Enable the Monitoring Service and collect information for subsequent analysis. Determine the monitoring information and the monitoring tool.
After execution:
Monitor whether resource release is normal and reasonable.
Monitoring metrics:
The Performance Testing metrics mainly include the following:
1. SERVER: Linux Application Server
Including CPU, memory, load, I/O, and disk.
2. Database: 1. MySQL 2. Oracle
Including cache hit, index, single SQL Performance, number of database threads, number of data pool connections, and so on.
3. Middleware: 1. JBoss 2. Apache
This includes the number of threads, connections, and log output.
4. Network
Including firewalls, NICS, network cables, throughput, and throughput.
5. Application Services
Including JVM memory usage and recovery, Java memory usage, full GC frequency, Java class loading and uninstallation, logs, thread running status (blocking, waiting, and running), etc.
6. Monitoring Tool (LoadRunner)
Including user execution, scenario status, Transaction Response Time, TPS, load, and CPU analysis charts.
7. Test Machine resources include CPU, memory, network, log output, disk space, and load generator evaluation.
Monitoring Principles:
1. Determine the Monitoring Target
2. Determine monitoring and analysis information
3. Determine monitoring tools
4. Collect data
5. Analyze Data
6. Optimization
7. Loop
Monitoring Method:
Including the checklist method.
Monitoring tools
Including profiler, jstat, jconsole, jmap, jprofiler, and nmon.