Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
-
Author
salesforce-developers -
Category
Documents
-
view
598 -
download
1
Embed Size (px)
description
Transcript of Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Another Example- www.cnn.com *
* Random sample video
Only 1.2s spent on server side
At 6.5s – page is actionable
Page is visually complete at 9.5s

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
Page load time improved by 60% after the fix!
Before After

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
Url
Web Server
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
real device)
Firefox, IE, Chrome
Network Type Used by
salesforce.com
Backbone and Last Mile 3G Backbone
Detailed Render Performance No, Network only No, Network Yes, network, KPIs & JS
Summary Best for high level 24/7 monitoring
with synthetic transactions
Best for mobile, good for high
level 24/7 monitoring with
synthetic transactions
Best for detailed real web browser
performance on synthetic orgs, 24/7
monitoring

Summary – Our Toolbox
UI Performance Mobile Performance Web/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