Feb 25, 2016
A Day in the Life of an Application Performance Engineer
Keith Lyon - Shunra Software [email protected]
Introduction
• Who am I?• What’s my background?• How did I get introduced to Shunra?
Performance Testing Ecosystem Overview
A day in the life…
• My application is so slow…• We take breaks between button clicks…• What do you mean, did we “performance test”?• Non-functional requirements?• Network \ application profiling?
Why do we performance test?• Determine speed or effectiveness of a
computer, network, software program or device.• Quantitative tests done in a lab, such as:
– measuring the response time or the;– number of MIPS (millions of instructions per
second) at which a system functions. • Qualitative attributes such as:
– reliability, scalability and interoperability may also be evaluated.
What are “non-functional” requirements?
• A requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. For example:– Transactions per second;– CPU Utilization;– Memory Utilization;– Maximum Throughput.
Describe the “Performance” of a system
• Response Time: Typically defined as the time taken to complete a single business transaction. It is usually expressed in seconds.
• Throughput: Can be defined as the total number of business transactions completed by the application in unit time (per second or per hour).
• Resource Utilization: Different resources factored in, such as processor, disk (i/o controller), memory etc.
Performance Test Plan: What To Test• 80/20 Rule• Classify transactions• Critical business processes
Performance Test Environment• Capacity• Scalability• Node Deployment
Performance Test: Data Preparation
• Initial Data Setup• Ongoing Data Retention• Test Data
CPU Utilization vs. No. of users This graph tells us whether the CPU utilization increases with increasing users. It also tells us about bottlenecks as well as what is the maximum number of users that can be supported.
Throughput vs. number of users This graph tells us if throughput increases with increasing number of users. This graph should have a similar shape as CPU Utilization graph.
Value In Reporting
Performance Test: Best Practices• Reusable Automated Core Scripts;• Database backups after crucial runs;• Designing scenarios to achieve right mix of
transactions;• Do not tune, if you don't have to.
Real Life Example: The Project…
• Custom Developed Application;• Hosted by Third Party;• Rolling Out to 250 International Sites;• Time to Performance Test = 1 Month.
APAC WAN 3
APAC WAN 1
EMEA WAN 3
EMEA WAN 1
NA WAN 3
NA WAN 1
LAN - Baseline
128 Kbps APAC
2 Mbps APAC
768 Kbps APAC
128 Kbps
768 Kbps
2 Mbps
APAC - Large
EMEA - Small
EMEA – Medium
Data Center
North America - Medium
North America - Small
EMEA - Large
North America - Large
45 Mbps
10 Mbps
1.5 Mbps
256 KbpsNA WAN 2
EMEA WAN 2
APAC WAN 2
1 baseline user
40 users
15 users
5 users
10 users
5 users
3 users
10 users
3 users
APAC – Medium
APAC - Small
5 users
Network Model
Shunra Suite of Products and Hardware
Shunra Proprietary
Before AfterTime-consuming coordination across remote sites
Global testing conducted locally
Fixed, permanent testing network
Flexible testing from any location; “what-if testing” of latency, loss, bandwidth
Maintaining remote load generators
Emulating WAN in lab with shared infrastructure
Testing only during network maintenance windows
Testing is independent of production network
Shunra Professional Services
Shunra VE Desktop for HP Loadrunner
TRY and FLYEnter to Win Free Round-trip Airfare to HPSU Barcelona
Test Drive Shunra for HP™ - 30 Day TrialContact James Newton @ 267-519-5104 or [email protected]
Winner announced 10/22. Must register by 9/22.
WWW.VIVIT-WORLDWIDE.ORG