Академический Документы
Профессиональный Документы
Культура Документы
There will be jolts and delays along the way for electronic commerce: congestion is the most obvious challenge.
Performance Analysis
Introduction
Performance Analyst = Mathematician + Computer Systems Person
Resource Utilization: For any system to consume an input and produce the designated output, certain resources would be required. The amount of resources consumed by the system during processing that request, defines the resource utilization. There can be different resources factored in, such as processor, disk (i/o controller), memory etc. Utilization of 80% is considered an acceptable limit. Normally utilization of 70% warrants ordering of additional hardware.
Response Time: Response time specifies the time taken by the system to respond back with the expected output. For an enterprise application Response time is defined as the time taken to complete a single business transaction. It is usually expressed in seconds
Throughput: Throughput refers to the rate which the system churns expected outputs when the designated input is fed in the system. In other words, for an Enterprise Application, throughput can be defined as the total number of business transactions completed by the application in unit time (per second or per hour).
System
Application
Machine
1. 2. 3. 4. 5. App Design App Server Tuning Drivers Persistence Clustering 1. 2. 3. 4. 5. 6. JVM Selection JVM Tuning JVM Internals JIT Compilation Cache Architecture SMP Scaling
Measure Performance
Gather Baseline Data Measure Availability Measure Response Time Measure Accuracy Measure Utilization Capacity Planning
Performance Management
Pre-production Certification of system and application performance Baseline, Load, Volume, Stress, Scalability, Endurance / Stability, Reliability Refine Analytic Models based on actual measurements Capacity Planning
Testing Production
Performance benchmark of a technology stack (combination of h/w + s/w platform) Baseline the performance levels for a product / prototype
Construction
Testing
Production
Load Test realistic loads Stress Test to determine breakpoint Volume Test over growing data volumes Sensitivity Test varying parameters Scalability Test across scaled-up h/w Endurance Test long periods
UNIT TEST
INTEGRATION TEST
Code Profiler
API UI Services UI
API
Services
4 Internet
Isolated Network
START
Understand System
Analyze Operations
Unsatisfactory Invalid
Test Effectiveness of Modification Implement Modification
N o n e
STOP
Satisfactory STOP
Questions
Why is saturation occurring? In which parts of the system (CPU, disks, memory, queues) will a transaction or job be spending most of its execution time at the saturation points? Which are the best cost-effective alternatives for avoiding (or, at least, delaying) saturation?
11
12