Complete Web Monitoring - Web Performance at eMetrics

50 %
50 %
Information about Complete Web Monitoring - Web Performance at eMetrics
Technology

Published on May 8, 2009

Author: watchingwebsites

Source: slideshare.net

Description

@acroll and @seanpower presented at eMetrics about the book "Complete Web Monitoring".
The presentation focuses on web performance and shows various ways to correlate performance data to other analytics streams.

Complete Web Monitoring A report from the frontlines of the web

#CWM

I betook myself to linking...

...tis some visitor entreating entrance at my chamber door

What could we watch? What we’d like to know Tool set How much did visitors benefit my business? Internal analytics Where is my traffic coming from? External analytics What’s working best (and worst?) Usability testing How good’s my relationship with my market? Customer surveys, community How healthy is my infrastructure? Performance monitoring How am I doing against my competitors? Search, external testing Where are my risks? Search, alerting What are people saying about me? Search, community monitoring How is my content being used elsewhere? Search, external analytics

Websites have a dirty little secret http://todaystatus.files.wordpress.com/2009/04/ww11-secret.jpg

http://www.inquisitr.com/2097/site-meter-causing-internet-explorer-failure/

http://www.flickr.com/photos/tveskov/3387394098/sizes/o/in/photostream/

http://www.flickr.com/photos/tveskov/3387394098/sizes/o/in/photostream/

“Whats a latency?” end user experience monitoring 101

“Whats a latency?” end user experience monitoring 101 squawk!

Google loses 1% of traffic for every 100 milliseconds of delay.

Amazon has similar issues.

Slow sites suck Lower conversion rates Less likely to attract a loyal following Liable for damages Liable for refunds or service credits Customers find other channels that cost more

Why the web is slow A crash course in performance & availability

Load Web App DB Internet balancer server server Client www.example.com

Your website Load Web App DB Internet balancer server server Client www.example.com

DNS Load Web App DB Internet balancer server server Client DNS “www.example.com”

DNS DNS lookup Load Web App DB Internet balancer server server Client DNS “www.example.com”

DNS DNS lookup Load Web App DB Internet balancer server server Client DNS “www.example.com”

IP IP Load Web App DB Internet balancer server server Client

IP IP Load Web App DB Internet balancer server server Client Internet routing

R IP IP R Load Web App R DB Internet balancer server server R Client R Internet routing

Letter writing Postal service

You Them (sender) (receiver)

This is a sentence You Them (sender) (receiver)

This is a sentence You Them (sender) (receiver)

This is a is sentence This a sentence You Them (sender) (receiver)

You Them (sender) (receiver)

This is a sentence You Them (sender) (receiver)

This is a sentence 3 2 1 4 You Them (sender) (receiver)

You Them (sender) (receiver)

This is a sentence You Them (sender) (receiver)

This is sentence 2 1 You Them (sender) (receiver)

This is ? sentence 2 1 4 You Them (sender) (receiver)

sentence a This 4 3 1

sentence a This 4 3 1 “Can you send #2 again?”

sentence a This 4 3 1 “Can you send #2 again?” is 2 “Sure. Here you go.”

How computers “connect”

IP IP Load Web App DB Internet balancer server server Client

The HTTP “stack” IP IP Load Web App DB Internet balancer server server Client

The HTTP “stack” TCP TCP IP IP Load Web App DB Internet balancer server server Client

The HTTP “stack” SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client

The HTTP “stack” HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client

Getting a page by hand

Getting a page by hand macbook:~ alistair$ telnet www.bitcurrent.com 80 Trying 67.205.65.12... Connected to bitcurrent.com. Escape character is '^]'.

Getting a page by hand macbook:~ alistair$ telnet www.bitcurrent.com 80 Trying 67.205.65.12... Connected to bitcurrent.com. Escape character is '^]'. GET / <!DOCTYPE html PUBLIC quot;-//W3C//DTD XHTML 1.0 Transitional//ENquot; quot;http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtdquot;> <html xmlns=quot;http://www.w3.org/1999/xhtmlquot;> <head profile=quot;http://gmpg.org/xfn/11quot;> <script type=quot;text/javascriptquot; src=quot;http:// www.bitcurrent.com/wp-content/themes/ grid_focus_public/js/perftracker.jsquot;></script> <script> </body> </html> Connection closed by foreign host.

Static content HTTP HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client image.gif GET www.example.com/image.gif

Static content HTTP HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client image.gif GET www.example.com/image.gif

Static Dynamic content content HTTP HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client dynamic.jsp GET www.example.com/dynamic.jsp

Static Dynamic content content HTTP HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client dynamic.jsp GET www.example.com/dynamic.jsp

Static Dynamic Stored content content data HTTP HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client (Database) POST www.example.com/data.cgi

Static Dynamic Stored content content data HTTP HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client (Database) POST www.example.com/data.cgi

The trivial web transaction Browser Data center Server

The trivial web transaction Browser Data center Server

The trivial web transaction Browser Data center Server TCP SYN (“let’s talk”) TCP SYN ACK (“Agreed: let’s talk”) TCP ACK (“OK, we’re talking)

The trivial web transaction Browser Data center Server TCP SYN (“let’s talk”) TCP SYN ACK (“Agreed: let’s talk”) TCP ACK (“OK, we’re talking) SSL (“Someone might be listening!”) SSL (“Here’s a decoder ring”)

The trivial web transaction Browser Data center Server TCP SYN (“let’s talk”) TCP SYN ACK (“Agreed: let’s talk”) TCP ACK (“OK, we’re talking) SSL (“Someone might be listening!”) SSL (“Here’s a decoder ring”) HTTP GET / (“Can I have your home page?”) HTTP 200 OK (“Sure!”) (thinks [index.html] (“Here it is!”) a bit) Bump, bump. [img js css] (“Have this too!”) (Renders furiously)

The trivial web transaction Browser Data center Server TCP SYN (“let’s talk”) TCP SYN ACK (“Agreed: let’s talk”) TCP ACK (“OK, we’re talking) SSL (“Someone might be listening!”) SSL (“Here’s a decoder ring”) HTTP GET / (“Can I have your home page?”) HTTP 200 OK (“Sure!”) (thinks [index.html] (“Here it is!”) a bit) Bump, bump. [img js css] (“Have this too!”) (Renders furiously) TCP FIN (“Thanks! I’m done now.”) TCP FIN ACK (“You’re welcome. Have a nice day.”)

Analytics site Server Data center Browser Server Mashup Server site

Analytics site Server Data center Browser Server Snore Mashup Server site

Connections to load Connection 0 - www.bitcurrent.com (67.205.65.12) Connection 1 - www.bitcurrent.com (67.205.65.12) Connection 2 - 4qinvite.4q.iperceptions.com (64.18.71.70) Connection 3 - static.slideshare.net (66.114.49.24) Connection 4 - static.slideshare.net (66.114.49.24) Connection 5 - www.feedburner.com (66.150.96.123) Connection 6 - static.getclicky.com (204.13.8.18) Connection 7 - cetrk.com (208.67.183.100) Connection 8 - in.getclicky.com (204.13.8.18) Connection 9 - crazyegg.com (208.67.180.236) Connection 10 - www.google-analytics.com (72.14.223.147) Connection 11 - www.apture.com (67.192.46.19) Connection 12 - static.apture.com (67.192.46.25) Connection 13 - s.clicktale.net (66.114.49.24) Connection 14 - www.clicktale.net (75.125.82.70)

What could possibly go Performance Availability • DNS: Find the site • Client: Bad requests • IP: Route the packets • Server: Capacity, availability, OS • TCP: Establish a connection • Network: Packet loss, TCP timeouts, trafic shaping • CDN: Redirect/overlay the trafic • Application: Logic, • SSL: Negotiate encryption dependencies • HTTP: Request content • Navigation: Looping, session • Host delay: Generate the timeouts content • Content: Broken, unrenderable • Network delay: Deliver the • RIA: Plugin, memory, OS content • Packet loss: Recover from errors • Browser: Parse the page, get more content • RIAs: Execute code on the client • Browser, OS: Render the page

Load Web App DB Internet balancer server server Client

Management tool Load Web App DB Internet balancer server server Client

Load Web App DB Internet balancer server server Client

Load Web App DB Internet balancer server server Client

http://www.flickr.com/photos/americanlady/3118301118 synthetic testing

Test Testing node config Data center Testing node Website Testing node

Test Testing node config Data center Testing node Website Testing node

Test Testing node config Data center Testing node Website Testing node

Test Testing node config Data center Testing node Website Reporting service Testing node

Testing script Script interpreter

Testing script Site: test.com Page: index.html Script interpreter

Testing script Site: test.com Page: index.html Script interpreter HTTP GET www.test.com/index.html

Testing script Site: test.com Page: index.html Script interpreter 200 OK index.html image.gif stylesheet.css etc...

Testing script Site: test.com Test complete Page: index.html Script interpreter

Browser controller Actual browser

Browser controller DOM actions (“click on button 4”) Actual browser

Browser controller DOM actions (“click on button 4”) Actual browser HTTP GET www.test.com/index.html

Browser controller DOM actions (“click on button 4”) Actual browser 200 OK index.html image.gif stylesheet.css etc...

Browser controller DOM actions DOM contents (“click on button 4”) (“DIV contains ‘error’”) Actual browser

Synthetic isn’t enough

Synthetic isn’t enough

Average varies wildly, making it hard to threshold properly or see a real slow-down.

80th percentile only spikes once for a legitimate slow-down (20% of users aected)

Setting a useful threshold on percentiles gives less false positives and more real alerts

http://www.gapingvoid.com/now%20what.jpg

Putting it all together The Big Picture

The challenge: Getting it all in the same place Unified provider Data warehouse Single pane of glass

CWM maturity model Level 5: Level 1: Level 2: Level 3: Level 4: Web business Technical details Minding your Engaging the Building strategy own house Internet relationships Enterprise KPIs, User loyalty, Analytics How many hits Site conversion Referrals, traffic online/offline lifetime value integration Product What did they Segment actions Segment actions Learning curve WIA specialization by see/click? by outcome by demographic analysis usability groups “Contact us” & Onsite surveys & Chatroom Customer Sentiment tied to VOC email feedback; interception; feedback; Virality collaboration, KPIs, VOC used satisfaction loyalty and W.O.M. validation in product Basic availability Transactions; Testing third- Correlation with Procurement, Synth & performance testing multiple party, mashup, other analytics; tying outage to from many sites tiers community competitors revenue, KPIs Sniffer, network Aggregate Segmentation, Web tie-in to RUM flows for tactical measurement of visit tracking, User records ticketing, CRM IT pages diagnostics systems Are they listening Long funnel Am I being Do I have a Collaborative Community amplifying; analysis; lifetime discussed? presence? PM, CS, etc. sentiment engagement

Mainstream topic

Thanks! alistair@bitcurrent.com sean@httpd.org @acroll @seanpower linkedin/in/alistaircroll linkedin/in/slpower bitcurrent.com www.watchingwebsites.com rednod.com gigaom.com/author/acroll www.watchingwebsites.com http://www.amazon.com/Complete-Web-Monitoring- Performance-Communities/dp/0596155131/

Add a comment

Related presentations

Related pages

Complete Web Monitoring: Watching Your Visitors ...

Hier sollte eine Beschreibung angezeigt werden, diese Seite lässt dies jedoch nicht zu.
Read more

Complete Web Monitoring - O'Reilly Media

Complete Web Monitoring demonstrates how to measure every aspect of your web presence -- including analytics, backend performance, usability, ...
Read more

Speakers eMetrics Marketing Optimization Summit San Jose ...

... a leading research firm specializing in web performance. ... O’Reilly book Complete Web Monitoring Complete ... Acquisition 6: eMetrics ...
Read more

Amazon.com: Customer Reviews: Complete Web Monitoring ...

Find helpful customer reviews and review ratings for Complete Web Monitoring: ... surveys, page performance, monitoring, ...
Read more

Tracks: Retention - eMetrics Marketing Optimization Summit ...

Tracks: Retention San ... author of Total Web Monitoring ... eMetrics.org. When we think web analytics we think of it as a tool that reports on marketing ...
Read more

Performance metric - Wikipedia, the free encyclopedia

Performance metric This article may require cleanup to meet Wikipedia's quality ... Performance metrics are often linked in with corporate strategy ...
Read more

Press Release - Complete Web Monitoring--New from O'Reilly ...

PRESS QUERIES ONLY Contact Kathryn ... Complete Web Monitoring ... a web performance monitoring vendor. You can find out more about him on LinkedIn ...
Read more

Complete Web Monitoring: Watching your visitors ...

Complete Web Monitoring: Watching your visitors, performance, ... Providing a full picture of the web monitoring endeavour, ...
Read more

Best Website Monitoring Software | 2016 Reviews of the ...

Just one click is needed to launch a full diagnosis and get a complete ... Multithreaded website monitoring ... Web application performance monitoring ...
Read more

Solutions Index - Nagios - The Industry Standard In IT ...

Nagios Solutions. Try the most trusted ... Web Log Monitoring; ... Network Performance Monitoring; Ping Monitoring; TCP/IP Monitoring; SNMP Monitoring ...
Read more