"Turn" Taobao performance Test essentials

Source: Internet
Author: User
Tags memory usage cpu usage jboss
"Turn" Taobao performance Test essentials
Average PV per second for each server = ((80%* total PV)/(24*60*60* (9/24))/server number, that is, the average PV per server per second =2.14* (total PV)/* (24*60*60)/server number of the highest peak of PV is 1.29 times times the average PV value

Performance Testing strategy  

1. Simulate the real hardware environment of the production line.

2. The server is placed in the same computer room to avoid network problems.

3. PV as a starting point, through the model to convert it to the performance test quantifiable TPS.

4. Performance test data is divided into two parts: basic data and business data, index and SQL will be tested to.

5. The log level is set to warn to avoid the effect of a large print log on performance test results.

6. Shield ESI Cache to simulate worst-case scenarios.

7. Single scene, after mixing scene, to ensure that each performance bottleneck is tuned.

8. Split problem, isolation analysis, positioning performance bottlenecks.

9. According to the performance test through the standard, to determine the measured performance point through or not.

10. For the current inability to solve the performance bottlenecks, enter the QC domain for tracking, and ask experts to carry out risk assessment.

 Performance test pressure change model

Point A: Performance expectations

Point B: Higher than expected, system resources at critical point

C: Above expectations, inflection point

D point: Over load, system crashes

Performance Test

The system performance between point A to point B is based on performance expectations, and the system is constantly pressured to verify that the system can meet performance expectations within the acceptable range of resources.

Load Test

B-point system performance, the system to continuously increase the pressure or increase the duration of a certain pressure, until a system or a number of performance indicators to reach the limit, such as a certain resource has reached saturation.

  Stress Test

The constant pressure on the system, between B and D, to obtain the maximum service-level test that the system can provide, by determining a bottleneck in a system or a performance point that cannot receive a user's request.

Stability Test

From point A to point B, the test system under the specific hardware, software, network environment, the system load a certain amount of business pressure, so that the system runs for a long time, in order to detect the stability of the system, the general stability test time of n*12 hours.

Monitoring Indicators

Metrics that typically require monitoring for performance testing include:

1. Server Linux (including CPU, Memory, Load, I/O).

2. Database: 1. Mysql 2.Oracle (Cache hit, index, single SQL performance, number of database threads, number of data pool connections).

3. Middleware: 1. Jboss 2. Apache (including number of threads, number of connections, log).

4. Network: throughput, throughput rate.

5. Application: JVM memory, log, full GC frequency.

6. Monitoring Tools (LoadRunner): User performance, scene status, transaction response time, TPS and so on.

7. Test machine resources: CPU, Memory, network, disk space.

Monitoring Tools

Performance testing is typically monitored using the following tools:

1.Profiler. A log of the class, Alibaba Group self-development, embedded in the application code to use.

2.Jstat. Monitor the Java process GC situation to determine if GC is normal.

3.JConsole. Monitoring Java memory, Java CPU usage, thread execution, and so on, needs to be configured in JVM parameters.

4.JMap. Monitor whether a Java program has a memory leak that needs to be used in conjunction with Eclipse Plug-ins or Memoryanalyzer.

5.JProfiler. Overall monitoring of each node's CPU utilization, memory usage, Response time cumulative value, thread execution, and so on, needs to be configured in JVM parameters.

6.Nmon. Comprehensive monitoring of Linux system resource usage, including CPU, memory, I/O, etc., can be independent of application monitoring.

7.Valgrind. Monitor the presence of a memory leak in C + + programs based on the Linux environment.

8.Vmmap and Applicationverifier. Monitor the presence of a memory leak in C + + programs, based on the Windows environment.

Performance Analysis

You can do this in the following order:

Middleware bottleneck (apache/jboss parameter configuration, database parameter configuration)->

Debug log-> for application services

Filter log-> for application services

The performance bottleneck of this application (SQL statement, index, business logic, thread pool setup, algorithm)->

Performance bottlenecks for service providers->

Performance bottlenecks associated with underlying storage applications

Analysis Criteria

The performance of the performance indicators, analysis of stability. Like what:

1. Response time to meet performance expectations, performance is stable.

2. In the application log, the probability of timing out is within an acceptable range.

3.TPS maintained in the scope of how large, whether there are waveforms, the standard deviation of how many, whether it meets the expectations.

4. Server CPU, memory, load whether within a reasonable range, and so on.

Analysis Tools

For some performance indicators, the use of automated analysis tools to calculate the overall trend of data:

1.LoadRunner Analysis

LoadRunner analysis is a part of LoadRunner, which is used to generate reports from the data collected during the operation, and is mainly used to collect TPS, response time, server resource usage and other trends.

2.Memory Analyzer

The Memory Analyzer tool resolves Jmap dump memory information to find out if there is a memory leak.

3.nmon_analyser

The Nmon tool can collect resource information from the server. Lists the usage of resource metrics such as CPU, MEM, network, I/O, and so on.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.