Complete Web Monitoring - Web Performance at eMetrics

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

  • + welkaim welkaim 1 month ago
    Hi the download is not working for me. It generate a .key file.
Post a comment
Embed Video
Edit your comment Cancel

Notes on slide 1


This presentation is also happening online - we’re going to use Twitter throughout. I’m @seanpower and Alistair is @acroll
(if you’re sitting close to us, our twitter names are on our shirts)
but if you want to get our attention and discuss stuff, use the #cwm tag and we’ll catch it.
feel free to ask us questions, comment, discuss.

you’ll see alot of ravens during the presentation
We wrote a book for O’Reilly that we’ll get to in a minute
and O’Reilly books generally have an animal on the front cover - we were given the Raven.
We didn’t know what to make of it initially but it grew on us.
We decided to crack open Edgar Allen’s Poe the Raven and found some eeriely appropriate sentences in it like: “I betook myself to linking”

and “tis some visitor entreating entrance at my chamber door”.

the book Complete Web Monitoring looks at the fragmented monitoring silos that exists within orgs. Our goal was to make some sense from the data sets that exists here and there and stitch it together to help the reader make more informed decisions.

As we were writing it, we built taxonomies related to web monitoring - and one of our first ones was called “What Could We Watch”

the types of things you want to know on a website largely determine the toolset and methodology you’ll choose to approach them

What i mean by that is your intention should determine the tool and not the other way around. So often, we say “let’s install Google Analytics and see what it gives us” which, in our opinion, is the wrong way to look at things.

ex, if you wanted to know how your visitors benefited your business, you’d take a look at internal analytics, which is usually governed by some web analytics tool.

if you wanted to see what was working best and worst on your site, you would want to set up some sort of WIA tool.

But today, we’re going to talk about infrastructure health, and how it relates to everything else in this table.

the types of things you want to know on a website largely determine the toolset and methodology you’ll choose to approach them≥

ex, if you wanted to know how your visitors benefited your business, you’d take a look at internal analytics, which is usually governed by some web analytics tool.

if you wanted to see what was working best and worst on your site, you would want to set up some sort of WIA tool.

But today, we’re going to talk about infrastructure health, and how it relates to everything else in this table.

here today to tell you that your website has a dirty little secret
your website is trying really, really hard to hide things from you . . and they’re not necessarily small things either.


for example . . . imagine that you decided to launch a kick ass survey. you’ve bought the latest shiny tool
you’ve carefully crafted the questions
you hired outside help to make sure they’re worded properly
you had them sent to a professional copy editor to get the final tone just right
it went through legal
you segmented your campaign according to the demographic whose voice you need to understand the most

and as you sit precariously over the big red send button you can’t help but feel that you’ve covered all your bases.
Satisfied, you press the button and out it goes into the world.

that was the case with paypal, recently.
We don’t have insight into their numbers, so we can’t tell for sure what the particular conversion rate for this survey was, but we suspect that the pickup wasn’t as good as anticipated.

Their web analytics and VOC don’t have the necessary functions built in to determine that their SSL cert was mismatched, cause safari and other browsers to come up with a nasty message saying “we can’t verify the identity of paypal-surveys.com”.
After all, think about it; if it’s coming from paypal and the identity can’t be verified, would you go on the site and fill anything out?

we know of a case of a marketing officer who’se job was put in question because of a string of failed campaigns.
The company jumped the gun on this one. Thanks to a friend in the web operations department, he was able to show that the network was at fault. Even though the company load tested diligently, they only did from their internal network. It turns out the problems were related to the last mile - something that was hidden until the company implemented synthetic monitoring.

Even though overall sentiment was a little more negative than usual during the campaigns, the conversion rates skyrocketed once better transit was installed.

This is a scary one and a true. If you haven’t heard, sitemeter took down every single website that were a client of theirs. If you were on IE and wanted to access sites like TechCrunch, Gizmodo and so on, you were out of luck in August, because the code crashed the browser.

Think about it - your site isn’t just vulnerable to whatever goofy code your development team throws at the Internet, it’s also vulnerable to your very own web analytics tracking codes!

This would take hours of troubleshooting to reveal without synthetic monitoring - or one simply alert would be triggered with the proper tools in place.

I don’t mean to pick on SiteMeter btw, I’m sure they have a great service - but these types of errors can kill substantial amounts of revenue until you catch it.

a company showed us an interesting way that they’re handling their social media campaigns.

in this case, bigco announces that they’ve got a 20% discount for T-shirts in the next 10 minutes.

a couple of people respond. @bigco then D messages each person with a unique shorturl identifier. As a result, they’re able to trace each shortened URL to an actual person and measure both virality and conversion rates for each ‘micro-campaign’.

but in social media, you’re often not master of the domain your campaigns are running on. Bigco was telling us that the largest hurdle they face is understanding if their campaigns suck at certain times, or if the fail whale is the culprit.

finally, your competitors may offer the same services that you do. They might have similar content, similar graphics and even similar employees!

but you still haven’t figured out why your bounce rates are high and they get more traffic than you.

All of these issues that i’ve described - failed campaigns, broken tags, unavailable or slow sites can all be symptoms of performance and availability issues.

web performance isn’t for the IT nerd in the office basement anymore.

web performance can affect your conversions, your campaigns and ultimately put your job on the line.

you need a green or red light that tells you if the pipes and the tubes are running smoothly underneath you.

Let’s deep dive into the things you need to know.


slow performance hurts


A site that’s unresponsive or plagued by incidents and unpredictable availability has lower conversion rates.
Sites that deliver a consistently poor end user experience are less likely to attract a loyal following. Poor site performance may also affect perception of your company’s brand or reputation.
You may be liable for damages if you can’t handle transactions promptly, particularly if you’re in a heavily regulated industry such as finance or healthcare.
Poor performance may cost you money. If you have a formal contract with users, you may be liable for refunds or service credits. Slow or unavailable sites also encourage customers to find other channels, such as phone support or retail outlets, that cost your organization far more than handling requests via the Web. Once visitors try those channels, they may stick with them, costing you even more money.

Time for a crash course in web performance
(there are smarter people than us on this topic but we’ll try.)


Each time a visitor comes to your site, she must first look up the domain with a DNS service

Each time a visitor comes to your site, she must first look up the domain with a DNS service

Each time a visitor comes to your site, she must first look up the domain with a DNS service

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

Then the browser sends packets of data across the Internet, bouncing from router to router, until they get to the website. If it’s of any real size, then there’s a thing called a load balancer at the other end.
These packets are called IP, or Internet Protocol, packets.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

That connection takes a bit of explaining.
Think about the postal service. You don’t need to know how it works to send mail. There’s a separation of concerns there. As long as you follow some rules -- addressing, putting it in the mailbox by 5PM -- everything works fine.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

But imagine you could only put one word in each envelope. Trying to send someone a message would be a bit more complicated. You’d compose your sentence, and send it on its way. Unfortunately, the receiver wouldn’t be able to reassemble the pile of letters that came through their door.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

So maybe you’d get clever, and start numbering the letters. That way your receiver would know what order they’re in.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

The system doesn’t work so well, however, if something’s lost along the way.

What you’d need is a system of numbered envelopes, plus a system that let the receiver tell you when they were missing something. With these two things working properly, you’d simulate an end-to-end connection between yourself and your receiver, and you could send long messages reliably even though only one word fit in each envelope.

What you’d need is a system of numbered envelopes, plus a system that let the receiver tell you when they were missing something. With these two things working properly, you’d simulate an end-to-end connection between yourself and your receiver, and you could send long messages reliably even though only one word fit in each envelope.

What you’d need is a system of numbered envelopes, plus a system that let the receiver tell you when they were missing something. With these two things working properly, you’d simulate an end-to-end connection between yourself and your receiver, and you could send long messages reliably even though only one word fit in each envelope.

What you’d need is a system of numbered envelopes, plus a system that let the receiver tell you when they were missing something. With these two things working properly, you’d simulate an end-to-end connection between yourself and your receiver, and you could send long messages reliably even though only one word fit in each envelope.

This is how the TCP/IP stack works. IP sends packets of data; TCP makes sure they get there.
TCP creates an end-to-end connection between your browser and a server.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

So TCP creates this end-to-end link between your computer and the web server on the other side of the connection.
On top of TCP, there’s a similar set of rules for encrypting data (if needed) and finally a set of rules for requesting web objects, known as HTTP.

You can try this out yourself.

You can try this out yourself.

You can try this out yourself.

You can try this out yourself.

You can try this out yourself.

If you’re loading static content -- an image, for example -- the web server can deliver it.

If you’re loading static content -- an image, for example -- the web server can deliver it.

If you’re loading static content -- an image, for example -- the web server can deliver it.

If you’re loading static content -- an image, for example -- the web server can deliver it.

If it’s a dynamic object, such as a custom page, then the app server responds.

If it’s a dynamic object, such as a custom page, then the app server responds.

If it’s a dynamic object, such as a custom page, then the app server responds.

If it’s a dynamic object, such as a custom page, then the app server responds.

If it’s a dynamic object, such as a custom page, then the app server responds.

18 Favorites

Complete Web Monitoring - Web Performance at eMetrics - Presentation Transcript

  1. Complete Web Monitoring A report from the frontlines of the web
  2. #CWM
  3. I betook myself to linking...
  4. ...tis some visitor entreating entrance at my chamber door
  5. 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
  6. Websites have a dirty little secret http://todaystatus.files.wordpress.com/2009/04/ww11-secret.jpg
  7. http://www.inquisitr.com/2097/site-meter-causing-internet-explorer-failure/
  8. http://www.flickr.com/photos/tveskov/3387394098/sizes/o/in/photostream/
  9. http://www.flickr.com/photos/tveskov/3387394098/sizes/o/in/photostream/
  10. “Whats a latency?” end user experience monitoring 101
  11. “Whats a latency?” end user experience monitoring 101 squawk!
  12. Google loses 1% of traffic for every 100 milliseconds of delay.
  13. Amazon has similar issues.
  14. 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
  15. Why the web is slow A crash course in performance & availability
  16. Load Web App DB Internet balancer server server Client www.example.com
  17. Your website Load Web App DB Internet balancer server server Client www.example.com
  18. DNS Load Web App DB Internet balancer server server Client DNS “www.example.com”
  19. DNS DNS lookup Load Web App DB Internet balancer server server Client DNS “www.example.com”
  20. DNS DNS lookup Load Web App DB Internet balancer server server Client DNS “www.example.com”
  21. IP IP Load Web App DB Internet balancer server server Client
  22. IP IP Load Web App DB Internet balancer server server Client Internet routing
  23. R IP IP R Load Web App R DB Internet balancer server server R Client R Internet routing
  24. Letter writing Postal service
  25. You Them (sender) (receiver)
  26. This is a sentence You Them (sender) (receiver)
  27. This is a sentence You Them (sender) (receiver)
  28. This is a is sentence This a sentence You Them (sender) (receiver)
  29. You Them (sender) (receiver)
  30. This is a sentence You Them (sender) (receiver)
  31. This is a sentence 3 2 1 4 You Them (sender) (receiver)
  32. You Them (sender) (receiver)
  33. This is a sentence You Them (sender) (receiver)
  34. This is sentence 2 1 You Them (sender) (receiver)
  35. This is ? sentence 2 1 4 You Them (sender) (receiver)
  36. sentence a This 4 3 1
  37. sentence a This 4 3 1 “Can you send #2 again?”
  38. sentence a This 4 3 1 “Can you send #2 again?” is 2 “Sure. Here you go.”
  39. How computers “connect”
  40. IP IP Load Web App DB Internet balancer server server Client
  41. The HTTP “stack” IP IP Load Web App DB Internet balancer server server Client
  42. The HTTP “stack” TCP TCP IP IP Load Web App DB Internet balancer server server Client
  43. The HTTP “stack” SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client
  44. The HTTP “stack” HTTP HTTP SSL SSL TCP TCP IP IP Load Web App DB Internet balancer server server Client
  45. Getting a page by hand
  46. Getting a page by hand macbook:~ alistair$ telnet www.bitcurrent.com 80 Trying 67.205.65.12... Connected to bitcurrent.com. Escape character is '^]'.
  47. 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 \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd\"> <html xmlns=\"http://www.w3.org/1999/xhtml\"> <head profile=\"http://gmpg.org/xfn/11\"> <script type=\"text/javascript\" src=\"http:// www.bitcurrent.com/wp-content/themes/ grid_focus_public/js/perftracker.js\"></script> <script> </body> </html> Connection closed by foreign host.
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. The trivial web transaction Browser Data center Server
  55. The trivial web transaction Browser Data center Server
  56. 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)
  57. 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”)
  58. 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)
  59. 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.”)
  60. Analytics site Server Data center Browser Server Mashup Server site
  61. Analytics site Server Data center Browser Server Snore Mashup Server site
  62. 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)
  63. 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
  64. Load Web App DB Internet balancer server server Client
  65. Management tool Load Web App DB Internet balancer server server Client
  66. Load Web App DB Internet balancer server server Client
  67. Load Web App DB Internet balancer server server Client
  68. http://www.flickr.com/photos/americanlady/3118301118 synthetic testing
  69. Test Testing node config Data center Testing node Website Testing node
  70. Test Testing node config Data center Testing node Website Testing node
  71. Test Testing node config Data center Testing node Website Testing node
  72. Test Testing node config Data center Testing node Website Reporting service Testing node
  73. Testing script Script interpreter
  74. Testing script Site: test.com Page: index.html Script interpreter
  75. Testing script Site: test.com Page: index.html Script interpreter HTTP GET www.test.com/index.html
  76. Testing script Site: test.com Page: index.html Script interpreter 200 OK index.html image.gif stylesheet.css etc...
  77. Testing script Site: test.com Test complete Page: index.html Script interpreter
  78. Browser controller Actual browser
  79. Browser controller DOM actions (“click on button 4”) Actual browser
  80. Browser controller DOM actions (“click on button 4”) Actual browser HTTP GET www.test.com/index.html
  81. Browser controller DOM actions (“click on button 4”) Actual browser 200 OK index.html image.gif stylesheet.css etc...
  82. Browser controller DOM actions DOM contents (“click on button 4”) (“DIV contains ‘error’”) Actual browser
  83. Synthetic isn’t enough
  84. Synthetic isn’t enough
  85. Average varies wildly, making it hard to threshold properly or see a real slow-down.
  86. 80th percentile only spikes once for a legitimate slow-down (20% of users aected)
  87. Setting a useful threshold on percentiles gives less false positives and more real alerts
  88. http://www.gapingvoid.com/now%20what.jpg
  89. Putting it all together The Big Picture
  90. The challenge: Getting it all in the same place Unified provider Data warehouse Single pane of glass
  91. 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
  92. Mainstream topic
  93. 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/

+ Alistair Croll and Sean Power Alistair Croll and Sean Power , 6 months ago

custom

2118 views, 18 favs, 10 embeds more stats

@acroll and @seanpower presented at eMetrics about more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 2118
    • 1823 on SlideShare
    • 295 from embeds
  • Comments 1
  • Favorites 18
  • Downloads 140
Most viewed embeds
  • 244 views on http://www.watchingwebsites.com
  • 17 views on http://www.webmetricsguru.com
  • 14 views on http://ohisee.com
  • 8 views on http://kellydodson.com
  • 4 views on http://www.blueanalytics.com

more

All embeds
  • 244 views on http://www.watchingwebsites.com
  • 17 views on http://www.webmetricsguru.com
  • 14 views on http://ohisee.com
  • 8 views on http://kellydodson.com
  • 4 views on http://www.blueanalytics.com
  • 3 views on http://static.slidesharecdn.com
  • 2 views on http://www.slideshare.net
  • 1 views on http://www.outsiders.org
  • 1 views on http://www.frisidee.nl
  • 1 views on http://cc.bingj.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories