1 overview
3 sub-trees are divided vertically: vugen,controller,monitor. Prioritize learning Vugen script development and debugging.
Horizontally divided into 2 layers: basic knowledge and advanced applications.
2 Basic Knowledge 2.1 LoadRunner tool using 2.1.1 Recommended learning Path
Vugen Development Script (function usage)->controller scene Settings->monitor Add counter
Http://www.cnblogs.com/jackei/archive/2006/10/20/534684.html
2.1.2 LoadRunner Certification
See more
Http://www.51testing.net/BWF_DIY/mercury/mercury_051107_1.htm
Http://www.51testing.net/BWF_DIY/mercury/mercury_060104_11.htm
2.1.3 Vugen Common enhancement functions
Add Transaction: Lr_start_transaction/:lr_end_transaction
Checkpoint: Web_reg_find
Associate : Web_reg_save_param ,web_set_max_html_param_len
LOG: lr_error_message,lr_log_message, lr_output_message ...
Option settings: web_set_timeout
HTTP header: web_add_auto_header
and change the runtime setting.
2.1.4 LoadRunner Frame composition
Overview diagram
Detailed architecture diagram:
2.2 Html/http Protocol
HTML 4.01 Specification:
http://www.w3.org/TR/html4/
Http://www.eygle.com/digest/2006/12/html_xml_and_internet.html
For performance testing, META HTTP-EQUIV controls HTTP headers, browser behavior, and is therefore most important.
HTTP protocol:
Http://www.faqs.org/rfcs/rfc2616.html
The client sends the request:
Server response:
2.3 C Language BASIC programming
LoadRunner commonly used C functions are mainly focused on memory allocation/release, string manipulation, file read and write.
such as: Malloc/free
sprintf/strcmp/strlen/
Fopen/fread/fwrite
2.4 Linux Performance Analysis Preliminary
Core directive:
Top
Sar
Vmstat
Iostat
Sar-n DEV
/proc File System
Analysis of empirical steps:
First look at CPU usage and follow the instructions for diagnosing CPU, memory, or disk bottlenecks. For each of the following steps, look for trends in one end of the time from which to collect data when the system is performing poorly. In addition, accurate diagnosis can only be made when the data is compared to the data collected during normal operation of the system.
Step 1
# sar-u [interval] [iterations]
(Example: Sar-u 5 30)
is%idle very low? This is the percentage of time that the CPU is not running any processes. %idle to zero at one end of the time may be the first indication of a CPU bottleneck.
Not a CPU bottleneck is not occurring in the system. Go to step 3.
Yes, the system may have CPU, memory, or I/O bottlenecks. Go to step 2.
Step 2
Is the%USR high? Many systems normally consume 80% of the CPU time for the user and 20% for the system. Other systems typically use around 80% of the user's time.
Not-the system may experience CPU, memory, or I/O bottlenecks. Go to step 3.
Yes-systems may experience CPU bottlenecks due to user processes. Go to section 3, section A, and adjust the system's CPU bottlenecks.
Step 3
is the value of%wio greater than 15? (Different OS has different thresholds)
This value is remembered later. It may indicate a disk or tape bottleneck. Go to step 4.
No, go to step 4.
Step 4
# sar-d [interval] [iterations]
is the%busy for any disk greater than 50? (Keep in mind that 50% indicates a general guideline, which may be much higher than the normal value of your system.) On some systems, even a%busy value of 20 may indicate that a disk bottleneck has occurred, while other systems may normally be 50% busy. is avwait greater than avserv on the same disk?
No, probably not a disk bottleneck, go to step 6.
Yes, the IO bottleneck seems to have occurred on this device.
Go to step 5.
Step 5
A disk bottleneck exists on the system, what is on the disk that has the bottleneck?
Original partition,
File system, go to section 3, section B, and adjust the system where the disk IO bottleneck occurs.
Swap---may be caused by a memory bottleneck.
Go to step 6.
Step 6
# Vmstat [interval] [iterations]
is the PO always greater than 0 over a long period of time?
For a s800 system (FREE * 4k) is less than 2 MB,
(Is the s700 system free * 4k less than 1 MB)?
(a value of 2 MB and 1 MB indicates the approximate guide, the true Lotsfree value, that is, the system starts to take place the value of paging is calculated at system boot time, it is based on the size of the system memory.) )
Not-if the%idle in step 1 is lower, the system is likely to have a CPU bottleneck.
Go to section 3, section A, and adjust the system where the CPU bottleneck occurs.
If the%idle is not very low, it may not be CPU, disk IO, or memory bottleneck.
Please go to section 4, other bottlenecks.
There is a memory bottleneck on the system, go to Part 3 C, adjust the system of memory bottleneck.
2.5 Windows Performance Analysis Preliminary
With Windows Perfmon.
Also focus on CPU, memory, IO, network.
General Experience Value:
Internet
Network utilization threshold is not uniform. <30% or 80%?
Conflict Rate: <1%
Packets Received Errors < 1%
/ o:
Disk Time% <90%
Avg. disk Bytes/read + Avg. disk Bytes/write <20k
Avg. Disk Sec/transfer <0.3 sec
Queue Lengths: Queue Length <2
Avg. Disk Sec/transfer <18 milliseconds
Memory
Available Mbytes >25%
Page In+out <20 Times
Memory Leaks and errors:
Pool nonpaged Bytes: An increase of ten percent or more from its value at system startup .
Server-Pool Nonpaged Failures shows the number of times allocations from Nonpaged Pool has failed-indicates that The computer ' s physical memory is too small. should be 0
Server-Pool Paged failures indicate that either physical memory or a paging file is near capacity. should be 0
Server-Pool nonpaged Peak shows the maximum number of bytes in nonpaged Pool the server have had in use at any one PO Int. Indicates how much physical memory the computer should has.
Processor
Utilization <85%
Each CPU Queue Length <2
Context switches/sec <5000 times or <5% of total threads
3 Advanced Applications 3.1 performance modeling
Starting from business layer, function layer, session layer, customer layer, the log Analysis tool is used to excavate the system load model and user behavior model.
Mercury End User Management is a business monitoring solution based on client vision.
3.2 Network Sniffer
Diagnose network problems such as Ethreal,fiddler, as well as the HTTP Debuger tool.
3.3 LoadRunner Troubleshooting
There may be problems with each link. (Client, communication, server)
Experiential steps:
Diagnose Vugen scripts, LoadRunner scene settings, and client hardware resources are sufficient
Determine if the server-side tiers are up to the resource limit
Judging c/s communication problem with ethereal and other network sniffer device
3.4 Linux performance Analysis and tuning
In-depth understanding:
Process/Multithreaded Programming
Synchronization mechanism
Gdb Debug Core
Kernel parameters
3.5 Windows performance Analysis and tuning
Other Windows counters
3.6 C language Call DLL extension test script
DLL writing format:
Such as
int __stdcall Lr_getlinuxiowait_end ()
{
Clnt_destroy (CLNT);
}
. def files
Exports
Lr_getlinuxiowait_end @3
LoadRunner Call DLL Functions:
Lr_load_dll ("My.dll");
3.7 Apache/jboss/weblogic/oracle Performance Optimization
See individual Product tuning documentation
Http://httpd.apache.org/docs/2.0/misc/perf-tuning.html
Http://httpd.apache.org/docs/1.3/misc/perf-tuning.html
http://edocs.bea.com/wls/docs81/perform/
Http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossASTuningSliming
http://www.jboss.org/index.html?module=bb&op=viewforum&f=121
3.8 Research direction of computer performance evaluation
Ø related theoretical studies ( Poisson distribution , queuing theory , Makov model, Monte Carlo simulation, self-similarity theory)
Ø Study of load characteristics Workload characteristic (commercial workload/technical Workload)
Ø study on the benchmark of benchmark program
Ø Study of performance indicators (full life cycle/High performance/TPO total Productivity ownership/SLA servcie level Agreement/qos)
Ø Simulator Research (SIMPLESCALAR/SIMOS/SANDOS)
Ø Test System Research (Benchmark Factory/serverscope/benchmark studio/loadrunner/forecast toolset)
Ø Monitoring System Perfomance Evaluation (Intel vtune/emon/teamquest Lite/serverscope-monitor/grid-view)
Ø combination of performance evaluation and architecture (computer architecture analysis using workloads)
See http://www.cnblogs.com/jackei/archive/2006/11/20/565527.html
3.9 Mercucy Performance Center
http://www.mercury.com/us/products/performance-center/
4 Performance Test Books
Microsoft. NET Web Application Performance test
"Software performance testing process and case analysis"
"Web Performance Test"
"Java EE performance test"
"LoadRunner Performance Test"
5 Testing the site
http://www.51tester.cn
Reprinted from: http://www.ptesting.com/archives/167.html
Performance Test Learning Roadmap (recommended)