Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

  • View
    594

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Transcript

  • 1. Performance Measurement and Monitoring forSalesforce Web & Mobile AppsSudatta 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 GauthamSenior Manager PerformanceEngineering@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! ToolFeature FirebugWaterfalls, JS Debugger DynatraceAJAXJavascript Profiling WebpagetestWaterfall, Video capture, Automated tests PageSpeedAnalysis and best practice suggestions HttpArchiveKey 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 RedirectsBeforeAfterPage load time improved by 60% after the fix! 13. Lighthouse What does it offer?Real BrowsersUses selenium like scripting Jiffy Integration Dynatrace Integration AlertingVideo comparison & headers Regression Analysis ShowSlow IntegrationCharting/TrendingWaterfall analysisScreen shotsMulti browser/location/page chartingTraffic Shaping HTTPArchiveIntegration Free!! Javascript HotspotsObject level detail Javascript performance 14. Lighthouse A Demo 15. Understanding Mobile 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 - WorkflowLoading infoSnapshotsMetadataMetricsWeb ServerUrlLoads webpages in Webview 20. Demo - Paparazzi Poster by Pulse Advertising 21. Web Performance Monitoring GomezKeynoteLighthouseReal Web BrowsersYes YesYesGeo Coverage Yes YesYes, limitedClient Type Firefox, IE iOS, Android (emulators andFirefox, IE, Chromereal device)Network Type Used by Backbone and Last Mile3GBackbonesalesforce.comDetailed Render Performance No, Network onlyNo, NetworkYes, network, KPIs & JSSummary Best for high level 24/7 monitoring Best for mobile, good for highBest for detailed real web browser with synthetic transactions level 24/7 monitoring withperformance on synthetic orgs, 24/7 synthetic transactions monitoring 22. Summary Our Toolbox Web/Mobile performance UI Performance Mobile PerformanceMonitoringFirebug Paparazzi KeynoteWebpagetestMobitestGomez Showslow Weinre Lighthouse Pagespeed Lighthouse 23. Sudatta GauthamSpeaker Title, @sudatta 24. 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 25. 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 26. Mobile Performance Recommendations Network Roundtrips are Important Keep a connection alive Perceived performance can help Caching is still unreliable