Webinar issues we_find_slideshare

27
Best Practices in Performance Testing Webinar Series Issues Uncovered as Scale Increases

Transcript of Webinar issues we_find_slideshare

Page 1: Webinar issues we_find_slideshare

Best Practices in Performance TestingWebinar Series

Issues Uncovered as Scale Increases

Page 2: Webinar issues we_find_slideshare

The Test Lab

Goals:• Isolate bugs in code• Optimize page performance• Plug memory leaks• Tune databases• Establish performance expectations

Limitations:• Production-quality hardware• IT support and resources• Bandwidth and network infrastructure• 3rd party application components• Time

Page 3: Webinar issues we_find_slideshare

The Staging Environment

Goals:• Verify capacity• Establish configurations• Stress available resources• Verify performance expectations

Limitations:• Availability / scheduling• Not full-scale• Excludes key components• Time

Page 4: Webinar issues we_find_slideshare

The Full Production Environment

Goals:• Test to and beyond expected limits • Verify entire infrastructure• Confirm load balancing and firewall integrity• Certify performance in normal and extreme conditions

Benefits:• All components• 3rd party apps• All integrations• Continuous • Global latencies• Reality

Page 5: Webinar issues we_find_slideshare

Performance isn’t One-Dimensional“You have a fever.” Now what?

User Experience

OPSQA

External web load

Page 6: Webinar issues we_find_slideshare

Performance is Multi-DimensionalFind problems fast when metrics are viewed in context, at scale

User Experience

Complex Web Applications : AJAX, HTML5, video, mobile, web services

Multi-Dimensional Views

External and Internal user load

Page 7: Webinar issues we_find_slideshare

Deployment Infrastructure

(Internal)

DeploymentInfrastructure

(External)Network User

Experience

Real-TimeEnd to End

Performance Data

In-Memory OLAP

Multi-Dimensional Views

ApplicationComponent &

Code

External and Internal user load

Extract Transport Load

The CloudTest platform is built for scalability and real-time identification of issues

Complex Web Applications : AJAX, HTML5, video, mobile, web services

Performance is Multi-DimensionalFind problems fast when metrics are viewed in context, at scale

Page 8: Webinar issues we_find_slideshare

Memory leaks

Scale of Test

Sta

ge

/ Te

am

Dev & Test

Extending Performance Beyond the LabDiscovering issues across teams, time and scale

Garbage collection

Inefficient database queriesSlow pages

Test Lab (a few thousand users)

Method-level tuning

Memory leaks

Debugging code

Database thread counts

Page 9: Webinar issues we_find_slideshare

Memory leaks

Scale of Test

Sta

ge

/ Te

am

Dev & Test

Extending Performance Beyond the LabDiscovering issues across teams, time and scale

Release& Deploy

Inadequate server resources

Default configuration settings

Auto-scaling failures

Slow third-party plug-ins

Garbage collection

Database thread counts

Inefficient database queriesSlow pages

Test Lab Staging (thousands to 10’s of thousands)

Search technology limits

Method-level tuning

Max sockets exceeded Global latency variance

Security bottlenecks

Memory leaks

Configuration Setting & Sizing

Page 10: Webinar issues we_find_slideshare

s

Memory leaks

Scale of Test

Sta

ge

/ Te

am

Dev & Test

Extending Performance Beyond the LabDiscovering issues across teams, time and scale

Release& Deploy

Network& Ops

CDN file placement

Load Balancer configuration

Network bandwidth

Network configuration

DNS routing

Inadequate server resources

Default configuration settings

Unbalanced web serversAuto-scaling failures

Latency between systems

Slow third-party plug-ins

Garbage collection

Database thread counts

Inefficient database queriesSlow pages

Conflict with other apps

Test Lab Staging Production (100% +++)

Search technology limits

Method-level tuning

Max sockets exceeded

Firewall max capacity

Global latency variance

Security bottlenecks

Memory leaks

Tuning for full-scale…and well beyond

Page 11: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Company Profile

Company Toy Manufacturer

Size Fortune 500

Project Profile

Environment Lab and Staging

Application Drupal (Apache, PHP, MySQL)

Location Private Hosted Cloud

Objective Identify Breaking Points

Project Length Five Days (non-consecutive)

StagingLab

Page 12: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Lab• First test cycle in the lab• 239 hits per second• 40.5 MBit/second bandwidth

• Some servers hitting 100% CPU• Bottleneck in throughput

Page 13: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Lab• Second test cycle in the lab• Higher concurrency target• Bandwidth stayed the same

• Some servers hitting 100% CPU• Performance problem over time• Load balancer flapping servers

Page 14: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Lab• Duration problem was crippling – could not recover

Page 15: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Staging• Bandwidth – ouch! • CPU at 100%

Page 16: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Staging

• 767 Home pages served at 650 megs total transfer.• That’s an 850kb page weight! Yikes!

Page 17: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Staging

• Poor throughput on the initial tests• CPU hits 100%• Bandwidth cap identified in the lab• Database connections leaking over time• Load balancer dropping servers

Mission Debriefing - Fortune 500 Toy Manufacturer

Lab

• Massive page weight on the home page• Application unresponsive at ~2000 users

Outcome• Customer happy with the breaking point identified• Optimized web assets in the home page• Offloaded assets to the CDN• Load balancer algorithm optimizations

Page 18: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Company Profile

Company Media and Broadcasting

Size Fortune 500

Project Profile

Environment Production

Application Java

Location Private Data Center

Objective 25,000 Concurrent

Project Length Three Days

Production

Page 19: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Production• Steadily increasing response times• Constant stream of errors (< 1%)• Variety of error types

Page 20: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Production

• One rogue page – streaming the TV episode

Page 21: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Production

• Connection reset errors starting the video stream• Entitlement license server calls failing

Page 22: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Production

Mission Debriefing - Fortune 500 Media Company

• Connection issues with CDN• One problem page• Massive bandwidth usage

Outcome

• Worked with CDN provider to reinforce certain geographies• Added capacity to the license server cluster

Page 23: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Company Profile

Company Advanced Technology

Size Fortune 50

Project Profile

Environment Production

Application Java (Struts), Oracle

Location Multiple Hosted Private Data Centers

Objective 172,000 Concurrent

Project Length Two Months

Production

Page 24: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

• Recurring error pattern during scenario completion Production

Page 25: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Awesome outcome in Production!

Page 26: Webinar issues we_find_slideshare

CloudTest LiveReal-world Issue Resolution

Production

Mission Debriefing - Fortune 50 Technology Company

• Load balancer firmware bug with 2048 bit cert• Database issues with the login process

Outcome

• Worked with hardware LB manufacturer on a fix• Really low error rate• Successful launch!

Page 27: Webinar issues we_find_slideshare

Q&A

Please join us for the next webinar in this series:

Testing Mobile Applications

May 3rd at 10AM PDT, 1PM EDT

Register at: http://bit.ly/ezq3fP

Contact SOASTA:www.soasta.com/cloudtest/[email protected] us:

twitter.com/cloudtest

facebook.com/cloudtest