Performance testing requires the use of different tools, combined with system logs, monitoring servers, applications, and many other indicators. The following is a description of monitoring indicators, monitoring tools, bottleneck analysis.
Service-Side Monitoring metrics
The metrics that a performance test typically needs to monitor include:
Server Linux (includes CPU, Memory, Load, I/O).
Database: MySQL (cache hit, index, single SQL performance, number of database threads, number of data pool connections).
Middleware: 1.tomcat 2, Nginx 3, memcache (including the number of threads, number of connections, logs).
Network: throughput, throughput rate.
Application: JVM memory, log, full GC frequency.
Client Monitoring Metrics
LoadRunner: User execution, scene state, transaction response time, TPS, throughput, etc.
Test machine resources: CPU, Memory, network, disk space.
Common monitoring Tools
Jstat
Monitor the GC status of the Java process to determine if the GC is normal.
JConsole
Monitoring Java memory, JAVACPU usage, thread execution, and so on, needs to be configured in the JVM parameters.
JMap
Monitor Java programs for memory leaks that need to be used with Eclipse plug-ins or Memoryanalyzer.
Jprofiler
Full monitoring of CPU usage, memory usage, cumulative response time, thread execution, etc. for each node needs to be configured in the JVM parameters.
Nmon
Comprehensive monitoring of Linux system resource usage, including CPU, memory, I/O, etc., can be independent of application monitoring.
Probe
Full monitoring of Tomcat threads, memory, JVM CPU usage, OS and JVM memory usage, swap usage, number of requests received every 30 seconds, etc.
Memadim
1. Server parameter monitoring: STATS, SETTINGS, ITEMS, slabs, sizes real-time refresh
2. Server performance monitoring: GET, DELETE, INCR, DECR, CAs and other common operation hit rate real-time monitoring
3. Support data traversal, easy to monitor storage content
4. Support conditional query, filter out the key or value that satisfies the condition
Performance analysis
Analyze information sources
5. The information collected by the monitoring tool. Includes TPS, response time, number of user concurrency, JVM memory, full GC frequency, tomcat connections, data SQL execution time, memcache hit rate, nginx connections, and more.
6. Log of the application server. Includes error logs, timeout logs, and so on.
7. Information provided by the project co-workers. Includes database monitoring information provided by the DBA, and Code logic information provided by the developer.
Analytical standards
1. Through performance indicators, analysis of the stability of performance. Like what:
2. Whether the response time is consistent with performance expectations and performance is stable.
3. In the application log, the probability of timeout is within an acceptable range.
8. The extent to which TPS is maintained, whether there is a waveform, how much is the standard deviation, and whether it is in line with expectations.
9. Server CPU, memory, load is within a reasonable range, and so on.
Analysis tools
For some performance metrics, you can use the automated analysis tool to figure out the overall trend of the data:
1. LoadRunner Analysis
Loadrunneranalysis is a component of the LoadRunner, used to generate reports on the data collected during operation, mainly for the acquisition of TPS, response time, throughput, server resource usage and other trends.
2. Memory Analyzer Analysis
The Memory Analyzer tool can parse the Jmap dump to find out if there is a memory leak.
3. Nmon_analyser Analysis
The Nmon tool can collect resource information from the server. Lists the usage of CPU, MEM, network, I/O, and other resource metrics.
4. Monyog Analysis
With this tool we are able to trace to a slower SQL statement, and can parse the number of rows scanned at the time of SQL statement execution, using the index condition.
Web performance monitoring and analysis