Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

27
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps Sudatta Gautham, salesforce.com, Senior Manager Performance @sudatta

description

 

Transcript of Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Page 1: 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

Page 2: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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.

Page 3: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Sudatta Gautham

Senior Manager – Performance

Engineering

@sudatta

Page 4: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Agenda

Introduction

Understanding Web Performance

Understanding Waterfall

The Tools

Lighthouse – A salesforce.com tool

Understanding Mobile Performance

Paparazzi!

Monitoring for Web & Mobile perf

Page 5: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

How Fast is Web?*

* Random sample video

Page 6: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 7: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Understanding the Waterfall Chart

Server Time

JS Exec Time

Page 8: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 9: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 10: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Synthetic Monitoring

Mash up of

Webpagetest

Showslow

HTTPArchive

DynatraceAJAX

Built on Amazon Web Services including EC2, EBS

Page 11: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Lighthouse – What do we use it for?

Page 12: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Lighthouse – 301 Redirects

Page load time improved by 60% after the fix!

Before After

Page 15: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Understanding Mobile Performance

Page 16: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 17: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Mobile Performance – Our Journey

Started with a Stopclock!!

Weinre

Custom Markers + Selenium based testing

Headless browser – using PhantomJS

Paparazzi

Page 18: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 19: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Paparazzi - Workflow

•Loading info

•Snapshots

•Metadata

•Metrics

Url

Web Server

Loads webpages in Webview

Page 20: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Demo - Paparazzi

Poster by Pulse Advertising

Page 21: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 22: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Summary – Our Toolbox

UI Performance Mobile Performance Web/Mobile performance

Monitoring

Firebug Paparazzi Keynote

Webpagetest Mobitest Gomez

Showslow Weinre Lighthouse

Pagespeed

Lighthouse

Page 23: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Sudatta Gautham

Speaker Title,

@sudatta

Page 24: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Page 25: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 26: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

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

Page 27: Performance Measurement and Monitoring for Salesforce Web & Mobile Apps

Mobile Performance – Recommendations

Network Roundtrips are Important

Keep a connection alive

Perceived performance can help

Caching is still unreliable