ݺߣ

ݺߣShare a Scribd company logo
v2016 September 30th 2016v2016 September 30th 2016
Performance in the Cloud
NetSuite
Sr. Web Performance Engineer
Diego Cardozo
v2016 September 30th 2016v2016 September 30th 2016
Agenda
• Why performance matters #perfmatters
• What to test
• How to test
• Performance on the cloud
• Test your cloud with local tools
• Test your cloud with cloud tools
• Let your users do the testing for you
v2016 September 30th 2016v2016 September 30th 2016
Why performance matters
Why is it important for our business?
• Google: 2% slower = 2% less searches per user
• Yahoo: 400 ms faster = 9% more traffic
• Amazon: 100ms faster = 1% more revenue
• Google uses site speed in web search ranking
Better performance  Happier users  More $
v2016 September 30th 2016v2016 September 30th 2016
What to test
Classification of performance tests
Type of test Goal
Performance Determine and validate speed
Load Verify application behavior under
normal and peak load conditions
Stress Verify application behavior beyond
normal and peak load conditions
Capacity Determine how many users and/or
transactions are supported while
meeting performance goals
v2016 September 30th 2016v2016 September 30th 2016
How to test
There are only 2 rules
1. Measure first, then optimize
2. Repeat rule number 1 frequently
v2016 September 30th 2016v2016 September 30th 2016
What to test
Have a goal – 3 alternatives
• Performance Budget
• Twitter uses “time to first Tweet”
• Google created the RAIL model
v2016 September 30th 2016v2016 September 30th 2016
How to test
2 approaches
• Synthetic monitoring
Emulate a user's browser, run a test case and
register response times for all requests
• Real User Monitoring (RUM)
Users passively send real performance data
v2016 September 30th 2016v2016 September 30th 2016
</talk>
time to see some real tools…
v2016 September 30th 2016v2016 September 30th 2016
Synthetic monitoring
• Quick performance tests
WebPage Test (free)
• Add load tests to your local dev suite
Visual Studio Enterprise  Load tests
• Run load tests from the cloud (free/paid)
Visual Studio Team Services
v2016 September 30th 2016v2016 September 30th 2016
Real User Monitoring (RUM)
Application Insights – available for free on Azure
• Gather performance data from real users
• 360° view of your application
• Server level – IIS
• Application level – SDK  Telemetry data
• Client level – data collection through JavaScript
v2016 September 30th 2016v2016 September 30th 2016
Application Insights
• Application performance monitoring
Measure performance, discover failures
• Interactive data analytics
Ad-hoc queries and deep diagnostics
• Proactive detection
Machine learning based anomaly detection
• Not just .NET
Java, Ruby, Python, PHP and Node.JS on Azure
v2016 September 30th 2016v2016 September 30th 2016
Resources and questions
• ݺߣs
http://bit.ly/netconf-performance
• RAIL
http://bit.ly/rail-performance
• Microsoft’s performance testing guide
http://bit.ly/microsoft-performance
dcardozo@netsuite.com
@diecard

More Related Content

Performance in the cloud

  • 1. v2016 September 30th 2016v2016 September 30th 2016 Performance in the Cloud NetSuite Sr. Web Performance Engineer Diego Cardozo
  • 2. v2016 September 30th 2016v2016 September 30th 2016 Agenda • Why performance matters #perfmatters • What to test • How to test • Performance on the cloud • Test your cloud with local tools • Test your cloud with cloud tools • Let your users do the testing for you
  • 3. v2016 September 30th 2016v2016 September 30th 2016 Why performance matters Why is it important for our business? • Google: 2% slower = 2% less searches per user • Yahoo: 400 ms faster = 9% more traffic • Amazon: 100ms faster = 1% more revenue • Google uses site speed in web search ranking Better performance  Happier users  More $
  • 4. v2016 September 30th 2016v2016 September 30th 2016 What to test Classification of performance tests Type of test Goal Performance Determine and validate speed Load Verify application behavior under normal and peak load conditions Stress Verify application behavior beyond normal and peak load conditions Capacity Determine how many users and/or transactions are supported while meeting performance goals
  • 5. v2016 September 30th 2016v2016 September 30th 2016 How to test There are only 2 rules 1. Measure first, then optimize 2. Repeat rule number 1 frequently
  • 6. v2016 September 30th 2016v2016 September 30th 2016 What to test Have a goal – 3 alternatives • Performance Budget • Twitter uses “time to first Tweet” • Google created the RAIL model
  • 7. v2016 September 30th 2016v2016 September 30th 2016 How to test 2 approaches • Synthetic monitoring Emulate a user's browser, run a test case and register response times for all requests • Real User Monitoring (RUM) Users passively send real performance data
  • 8. v2016 September 30th 2016v2016 September 30th 2016 </talk> time to see some real tools…
  • 9. v2016 September 30th 2016v2016 September 30th 2016 Synthetic monitoring • Quick performance tests WebPage Test (free) • Add load tests to your local dev suite Visual Studio Enterprise  Load tests • Run load tests from the cloud (free/paid) Visual Studio Team Services
  • 10. v2016 September 30th 2016v2016 September 30th 2016 Real User Monitoring (RUM) Application Insights – available for free on Azure • Gather performance data from real users • 360° view of your application • Server level – IIS • Application level – SDK  Telemetry data • Client level – data collection through JavaScript
  • 11. v2016 September 30th 2016v2016 September 30th 2016 Application Insights • Application performance monitoring Measure performance, discover failures • Interactive data analytics Ad-hoc queries and deep diagnostics • Proactive detection Machine learning based anomaly detection • Not just .NET Java, Ruby, Python, PHP and Node.JS on Azure
  • 12. v2016 September 30th 2016v2016 September 30th 2016 Resources and questions • ݺߣs http://bit.ly/netconf-performance • RAIL http://bit.ly/rail-performance • Microsoft’s performance testing guide http://bit.ly/microsoft-performance dcardozo@netsuite.com @diecard