SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Performance Measurement and Monitoring for
Salesforce Web & Mobile Apps


Sudatta Gautham, salesforce.com, Senior Manager – Performance
@sudatta
Safe Harbor
 Safe harbor statement under the Private Securities Litigation Reform Act of 1995:

 This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of
 the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking
 statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service
 availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future
 operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of
 our services.

 The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service,
 new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions
 or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers
 and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees
 and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and
 utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is
 included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures
 are available on the SEC Filings section of the Investor Information section of our Web site.

 Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be
 delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available.
 Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Sudatta Gautham
Senior Manager – Performance
Engineering
@sudatta
Agenda
 Introduction
 Understanding Web Performance
   Understanding Waterfall
   The Tools
   Lighthouse – A salesforce.com tool
 Understanding Mobile Performance
   Paparazzi!
 Monitoring for Web & Mobile perf
How Fast is Web?*




* Random sample video
Another Example- www.cnn.com *




   Only 1.2s spent on server side
   At 6.5s – page is actionable
   Page is visually complete at 9.5s
            * Random sample video
Understanding the Waterfall Chart
                           Server Time




                                         JS Exec Time
The Waterfall Chart – Key Metrics
    Server Response Time
    Network Roundtrips
    “Gaps” – JS Execution Times
    Time To OnLoad
    Resource sizes
  Time Taken to Various Page Components
    Response codes
Web Performance Tools – Free!

               Tool                          Feature
     Firebug          Waterfalls, JS Debugger
     DynatraceAJAX    Javascript Profiling
     Webpagetest      Waterfall, Video capture, Automated tests


     PageSpeed        Analysis and best practice suggestions

     HttpArchive      Key web performance metrics
 Synthetic Monitoring
 Mash up of
  Webpagetest
  Showslow
  HTTPArchive
  DynatraceAJAX
 Built on Amazon Web Services including EC2, EBS
Lighthouse – What do we use it for?
Lighthouse – 301 Redirects

          Before                                After




Page load time improved by 60% after the fix!
Lighthouse – What does it offer?

          Real Browsers        Uses selenium like scripting
               Jiffy Integration   Dynatrace Integration     Alerting
Video comparison & headers     Regression Analysis       ShowSlow Integration
Charting/Trending
                          Waterfall analysis  Screen shots
      Multi browser/location/page charting    Traffic Shaping   HTTPArchive

                          Integration     Free!!
                                 Javascript Hotspots
                    Object level detail   Javascript performance
Lighthouse – A Demo
Understanding Mobile Performance
Mobile Performance - Challenges
  Varying Network characteristics
   Benchmarking – 3G vs. WiFi?
   Connection latencies
  Varying client characteristics
   Native vs. HTML5
   Browser vs. Container
  Lack of Performance Tools
Mobile Performance – Our Journey
  Started with a Stopclock!!
  Weinre
  Custom Markers + Selenium based testing
  Headless browser – using PhantomJS
  Paparazzi
Paparazzi – Mobile Performance Tool
 A native app for mobile developer (Available on Android Marketplace!)
 Features are in BETA
 To understand web performance on mobile devices
     Overall loading time
     Page rendering snapshots
     Waterfall charts
     CPU, Memory and Network info
     Mobile bookmarklet information
     Page Resource Optimizations
Paparazzi - Workflow

                                  •Loading info
                                  •Snapshots
                                  •Metadata
                                  •Metrics

                                                  Web Server

Url

      Loads webpages in Webview
Demo - Paparazzi




                   Poster by Pulse Advertising
Web Performance Monitoring
                                         Gomez                              Keynote                          Lighthouse
Real Web Browsers                            Yes                                 Yes                                Yes


Geo Coverage                                 Yes                                 Yes                            Yes, limited


Client Type                               Firefox, IE               iOS, Android (emulators and              Firefox, IE, Chrome
                                                                            real device)

Network Type Used by               Backbone and Last Mile                        3G                              Backbone
salesforce.com

Detailed Render Performance           No, Network only                      No, Network                  Yes, network, KPIs & JS



Summary                       Best for high level 24/7 monitoring   Best for mobile, good for high    Best for detailed real web browser
                                 with synthetic transactions         level 24/7 monitoring with      performance on synthetic orgs, 24/7
                                                                       synthetic transactions                     monitoring
Summary – Our Toolbox

                                         Web/Mobile performance
   UI Performance   Mobile Performance
                                              Monitoring

      Firebug           Paparazzi               Keynote
    Webpagetest          Mobitest                Gomez
     Showslow             Weinre               Lighthouse
     Pagespeed
     Lighthouse
Sudatta Gautham
  Speaker Title,
   @sudatta
Web Performance Basics – Few Rules
    Make Fewer HTTP Requests
    Use a Content Delivery Network (CDN)
    Add an expires header
    Gzip Components
    Put Stylesheets at the Top
    Put Scripts at the Bottom
    Reduce DNS Lookups
    Minify JavaScript
    Avoid Redirects
    Remove Duplicate Scripts
    Make AJAX Cacheable
Web Performance Basics – Few More Rules
   Split the initial payload
   Load scripts without blocking
   Split dominant content domains (Domain Sharding)
   Make static content cookie-free (Cookieless Domains)
   Reduce cookie weight
   Minify CSS
   Optimize images
   Use iframes sparingly
   Early Flush
Mobile Performance – Recommendations
 Network Roundtrips are Important
   Keep a connection alive
 Perceived performance can help
 Caching is still unreliable

Contenu connexe

Tendances

Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with JmeterPrashanth Kumar
 
Performance Testing in Agile Process
Performance Testing in Agile ProcessPerformance Testing in Agile Process
Performance Testing in Agile ProcessIdexcel Technologies
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testingpingkapil
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability pptanilreddyqa
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingKostCare
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter PresentationNeill Lima
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance TestingAtul Pant
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
How to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdfHow to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdfKnoldus Inc.
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation TestingArchana Krushnan
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introductionsilenceIT Inc.
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overviewsharadkjain
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerQA or the Highway
 
What is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceWhat is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceMaveric Systems
 
Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Salesforce Engineering
 

Tendances (20)

Performance testing with Jmeter
Performance testing with JmeterPerformance testing with Jmeter
Performance testing with Jmeter
 
Performance Testing in Agile Process
Performance Testing in Agile ProcessPerformance Testing in Agile Process
Performance Testing in Agile Process
 
Quality Assurance and Software Testing
Quality Assurance and Software TestingQuality Assurance and Software Testing
Quality Assurance and Software Testing
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Salesforce testing best_practices
Salesforce testing best_practicesSalesforce testing best_practices
Salesforce testing best_practices
 
Testing capability ppt
Testing capability pptTesting capability ppt
Testing capability ppt
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
 
Test automation process
Test automation processTest automation process
Test automation process
 
Load Testing and JMeter Presentation
Load Testing and JMeter PresentationLoad Testing and JMeter Presentation
Load Testing and JMeter Presentation
 
TCoE
TCoETCoE
TCoE
 
Jmeter Performance Testing
Jmeter Performance TestingJmeter Performance Testing
Jmeter Performance Testing
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
How to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdfHow to fit Performance Testing in Devops environment.pptx.pdf
How to fit Performance Testing in Devops environment.pptx.pdf
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Selenium at Salesforce Scale
Selenium at Salesforce ScaleSelenium at Salesforce Scale
Selenium at Salesforce Scale
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian Bayer
 
What is (tcoe) testing center of excellence
What is (tcoe) testing center of excellenceWhat is (tcoe) testing center of excellence
What is (tcoe) testing center of excellence
 
Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce Quality Testing and Agile at Salesforce
Quality Testing and Agile at Salesforce
 

Similaire à Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

How to Monitor Your Java & .NET Applications with eG Enterprise
How to Monitor Your Java & .NET Applications with eG EnterpriseHow to Monitor Your Java & .NET Applications with eG Enterprise
How to Monitor Your Java & .NET Applications with eG EnterpriseeG Innovations
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseVenkat Alagarsamy
 
Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSalesforce Developers
 
Sink Or Swim: Transitioning Your Software Business To SaaS
Sink Or Swim: Transitioning Your Software Business To SaaSSink Or Swim: Transitioning Your Software Business To SaaS
Sink Or Swim: Transitioning Your Software Business To SaaSApprenda
 
Sink Or Swim Transitioning Your Software Business To Saa S Scio And Apprenda
Sink Or Swim Transitioning Your Software Business To Saa S Scio And ApprendaSink Or Swim Transitioning Your Software Business To Saa S Scio And Apprenda
Sink Or Swim Transitioning Your Software Business To Saa S Scio And ApprendaScioSales
 
Metrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing WebsitesMetrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing WebsitesBen Rushlo
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on herokuAnand B Narasimhan
 
The Complete User Experience Monitoring Solution - eG Enterprise v7
The Complete User Experience Monitoring Solution - eG Enterprise v7The Complete User Experience Monitoring Solution - eG Enterprise v7
The Complete User Experience Monitoring Solution - eG Enterprise v7eG Innovations
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapSalesforce Developers
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapSalesforce Developers
 
Mobile Performance Testing - Best Practices
Mobile Performance Testing - Best PracticesMobile Performance Testing - Best Practices
Mobile Performance Testing - Best PracticesEran Kinsbrunner
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architecturessgleadow
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessStephen Thair
 
Moving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application MigrationMoving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application Migrationanilmadugula
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestOnur Baskirt
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Ville Ingman
 
Best practices to optimize commerce site performance [webinar slides]
Best practices to optimize commerce site performance [webinar slides]Best practices to optimize commerce site performance [webinar slides]
Best practices to optimize commerce site performance [webinar slides]Yottaa
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websiteshaxorize
 

Similaire à Performance Measurement and Monitoring for Salesforce Web & Mobile Apps (20)

How to Monitor Your Java & .NET Applications with eG Enterprise
How to Monitor Your Java & .NET Applications with eG EnterpriseHow to Monitor Your Java & .NET Applications with eG Enterprise
How to Monitor Your Java & .NET Applications with eG Enterprise
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterprise
 
Social Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku WebinarSocial Enterprise Java Apps on Heroku Webinar
Social Enterprise Java Apps on Heroku Webinar
 
Sink Or Swim: Transitioning Your Software Business To SaaS
Sink Or Swim: Transitioning Your Software Business To SaaSSink Or Swim: Transitioning Your Software Business To SaaS
Sink Or Swim: Transitioning Your Software Business To SaaS
 
Sink Or Swim Transitioning Your Software Business To Saa S Scio And Apprenda
Sink Or Swim Transitioning Your Software Business To Saa S Scio And ApprendaSink Or Swim Transitioning Your Software Business To Saa S Scio And Apprenda
Sink Or Swim Transitioning Your Software Business To Saa S Scio And Apprenda
 
Metrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing WebsitesMetrics that Matter-Approaches To Managing High Performing Websites
Metrics that Matter-Approaches To Managing High Performing Websites
 
Social ent. with java on heroku
Social ent. with java on herokuSocial ent. with java on heroku
Social ent. with java on heroku
 
The Complete User Experience Monitoring Solution - eG Enterprise v7
The Complete User Experience Monitoring Solution - eG Enterprise v7The Complete User Experience Monitoring Solution - eG Enterprise v7
The Complete User Experience Monitoring Solution - eG Enterprise v7
 
Keynote I
Keynote IKeynote I
Keynote I
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
 
Building Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGapBuilding Cross-platform Mobile Apps with Force.com and PhoneGap
Building Cross-platform Mobile Apps with Force.com and PhoneGap
 
Mobile Performance Testing - Best Practices
Mobile Performance Testing - Best PracticesMobile Performance Testing - Best Practices
Mobile Performance Testing - Best Practices
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
 
Moving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application MigrationMoving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application Migration
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
 
Gomez
GomezGomez
Gomez
 
Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014Rock Your Web Apps with Vaadin: Coding Serbia 2014
Rock Your Web Apps with Vaadin: Coding Serbia 2014
 
Best practices to optimize commerce site performance [webinar slides]
Best practices to optimize commerce site performance [webinar slides]Best practices to optimize commerce site performance [webinar slides]
Best practices to optimize commerce site performance [webinar slides]
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websites
 

Plus de Salesforce Developers

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSalesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceSalesforce Developers
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base ComponentsSalesforce Developers
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsSalesforce Developers
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaSalesforce Developers
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentSalesforce Developers
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsSalesforce Developers
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsSalesforce Developers
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsSalesforce Developers
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and TestingSalesforce Developers
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilitySalesforce Developers
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce dataSalesforce Developers
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionSalesforce Developers
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPSalesforce Developers
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceSalesforce Developers
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureSalesforce Developers
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DXSalesforce Developers
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectSalesforce Developers
 

Plus de Salesforce Developers (20)

Sample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce DevelopersSample Gallery: Reference Code and Best Practices for Salesforce Developers
Sample Gallery: Reference Code and Best Practices for Salesforce Developers
 
Maximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component PerformanceMaximizing Salesforce Lightning Experience and Lightning Component Performance
Maximizing Salesforce Lightning Experience and Lightning Component Performance
 
Local development with Open Source Base Components
Local development with Open Source Base ComponentsLocal development with Open Source Base Components
Local development with Open Source Base Components
 
TrailheaDX India : Developer Highlights
TrailheaDX India : Developer HighlightsTrailheaDX India : Developer Highlights
TrailheaDX India : Developer Highlights
 
Why developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX IndiaWhy developers shouldn’t miss TrailheaDX India
Why developers shouldn’t miss TrailheaDX India
 
CodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local DevelopmentCodeLive: Build Lightning Web Components faster with Local Development
CodeLive: Build Lightning Web Components faster with Local Development
 
CodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web ComponentsCodeLive: Converting Aura Components to Lightning Web Components
CodeLive: Converting Aura Components to Lightning Web Components
 
Enterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web ComponentsEnterprise-grade UI with open source Lightning Web Components
Enterprise-grade UI with open source Lightning Web Components
 
TrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer HighlightsTrailheaDX and Summer '19: Developer Highlights
TrailheaDX and Summer '19: Developer Highlights
 
Live coding with LWC
Live coding with LWCLive coding with LWC
Live coding with LWC
 
Lightning web components - Episode 4 : Security and Testing
Lightning web components  - Episode 4 : Security and TestingLightning web components  - Episode 4 : Security and Testing
Lightning web components - Episode 4 : Security and Testing
 
LWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura InteroperabilityLWC Episode 3- Component Communication and Aura Interoperability
LWC Episode 3- Component Communication and Aura Interoperability
 
Lightning web components episode 2- work with salesforce data
Lightning web components   episode 2- work with salesforce dataLightning web components   episode 2- work with salesforce data
Lightning web components episode 2- work with salesforce data
 
Lightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An IntroductionLightning web components - Episode 1 - An Introduction
Lightning web components - Episode 1 - An Introduction
 
Migrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCPMigrating CPQ to Advanced Calculator and JSQCP
Migrating CPQ to Advanced Calculator and JSQCP
 
Scale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in SalesforceScale with Large Data Volumes and Big Objects in Salesforce
Scale with Large Data Volumes and Big Objects in Salesforce
 
Replicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data CaptureReplicate Salesforce Data in Real Time with Change Data Capture
Replicate Salesforce Data in Real Time with Change Data Capture
 
Modern Development with Salesforce DX
Modern Development with Salesforce DXModern Development with Salesforce DX
Modern Development with Salesforce DX
 
Get Into Lightning Flow Development
Get Into Lightning Flow DevelopmentGet Into Lightning Flow Development
Get Into Lightning Flow Development
 
Integrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS ConnectIntegrate CMS Content Into Lightning Communities with CMS Connect
Integrate CMS Content Into Lightning Communities with CMS Connect
 

Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

  • 1. Performance Measurement and Monitoring for Salesforce Web & Mobile Apps Sudatta Gautham, salesforce.com, Senior Manager – Performance @sudatta
  • 2. Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services. The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended July 31, 2012. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site. Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
  • 3. Sudatta Gautham Senior Manager – Performance Engineering @sudatta
  • 4. Agenda Introduction Understanding Web Performance  Understanding Waterfall  The Tools  Lighthouse – A salesforce.com tool Understanding Mobile Performance  Paparazzi! Monitoring for Web & Mobile perf
  • 5. How Fast is Web?* * Random sample video
  • 6. Another Example- www.cnn.com *  Only 1.2s spent on server side  At 6.5s – page is actionable  Page is visually complete at 9.5s * Random sample video
  • 7. Understanding the Waterfall Chart Server Time JS Exec Time
  • 8. The Waterfall Chart – Key Metrics  Server Response Time  Network Roundtrips  “Gaps” – JS Execution Times  Time To OnLoad  Resource sizes  Time Taken to Various Page Components  Response codes
  • 9. Web Performance Tools – Free! Tool Feature Firebug Waterfalls, JS Debugger DynatraceAJAX Javascript Profiling Webpagetest Waterfall, Video capture, Automated tests PageSpeed Analysis and best practice suggestions HttpArchive Key web performance metrics
  • 10.  Synthetic Monitoring  Mash up of  Webpagetest  Showslow  HTTPArchive  DynatraceAJAX  Built on Amazon Web Services including EC2, EBS
  • 11. Lighthouse – What do we use it for?
  • 12. Lighthouse – 301 Redirects Before After Page load time improved by 60% after the fix!
  • 13. Lighthouse – What does it offer? Real Browsers Uses selenium like scripting Jiffy Integration Dynatrace Integration Alerting Video comparison & headers Regression Analysis ShowSlow Integration Charting/Trending Waterfall analysis Screen shots Multi browser/location/page charting Traffic Shaping HTTPArchive Integration Free!! Javascript Hotspots Object level detail Javascript performance
  • 16. Mobile Performance - Challenges  Varying Network characteristics  Benchmarking – 3G vs. WiFi?  Connection latencies  Varying client characteristics  Native vs. HTML5  Browser vs. Container  Lack of Performance Tools
  • 17. Mobile Performance – Our Journey  Started with a Stopclock!!  Weinre  Custom Markers + Selenium based testing  Headless browser – using PhantomJS  Paparazzi
  • 18. Paparazzi – Mobile Performance Tool  A native app for mobile developer (Available on Android Marketplace!)  Features are in BETA  To understand web performance on mobile devices  Overall loading time  Page rendering snapshots  Waterfall charts  CPU, Memory and Network info  Mobile bookmarklet information  Page Resource Optimizations
  • 19. Paparazzi - Workflow •Loading info •Snapshots •Metadata •Metrics Web Server Url Loads webpages in Webview
  • 20. Demo - Paparazzi Poster by Pulse Advertising
  • 21. Web Performance Monitoring Gomez Keynote Lighthouse Real Web Browsers Yes Yes Yes Geo Coverage Yes Yes Yes, limited Client Type Firefox, IE iOS, Android (emulators and Firefox, IE, Chrome real device) Network Type Used by Backbone and Last Mile 3G Backbone salesforce.com Detailed Render Performance No, Network only No, Network Yes, network, KPIs & JS Summary Best for high level 24/7 monitoring Best for mobile, good for high Best for detailed real web browser with synthetic transactions level 24/7 monitoring with performance on synthetic orgs, 24/7 synthetic transactions monitoring
  • 22. Summary – Our Toolbox Web/Mobile performance UI Performance Mobile Performance Monitoring Firebug Paparazzi Keynote Webpagetest Mobitest Gomez Showslow Weinre Lighthouse Pagespeed Lighthouse
  • 23. Sudatta Gautham Speaker Title, @sudatta
  • 24.
  • 25. Web Performance Basics – Few Rules  Make Fewer HTTP Requests  Use a Content Delivery Network (CDN)  Add an expires header  Gzip Components  Put Stylesheets at the Top  Put Scripts at the Bottom  Reduce DNS Lookups  Minify JavaScript  Avoid Redirects  Remove Duplicate Scripts  Make AJAX Cacheable
  • 26. Web Performance Basics – Few More Rules  Split the initial payload  Load scripts without blocking  Split dominant content domains (Domain Sharding)  Make static content cookie-free (Cookieless Domains)  Reduce cookie weight  Minify CSS  Optimize images  Use iframes sparingly  Early Flush
  • 27. Mobile Performance – Recommendations Network Roundtrips are Important  Keep a connection alive Perceived performance can help Caching is still unreliable