Improving Website Performance: Top Ten Actions for Optimal Performance Lloyd W. Taylor VP Technology & Operations Keynote Systems.

Slides:



Advertisements
Similar presentations
Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft.
Advertisements

The Internet and the Web
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
Amazon CloudFront An introductory discussion. What is Amazon CloudFront? 5/31/20122© e-Zest Solutions Ltd. Amazon CloudFront is a web service for content.
Confused, Timid, and Unstable: Picking a Video Streaming Rate is Hard Published in 2012 ACM’s Internet Measurement Conference (IMC) Five students from.
2002/08/15 Using Dynamic Delay Pools for Bandwidth Management Gihan Dias and Chamara Gunaratne University of Moratuwa.
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
CIS 451: ASP Sessions and Applications Dr. Ralph D. Westfall January, 2009.
Confused, Timid and Unstable: Picking a Video Rate is Hard Te-Yuan (TY) Huang Stanford University Nov 15 th, 2012 Joint work with Nikhil Handigol, Brandon.
1 Content Delivery Networks iBAND2 May 24, 1999 Dave Farber CTO Sandpiper Networks, Inc.
The Tension Between High Video Rate and No Rebuffering Te-Yuan (TY) Huang Stanford University IRTF Open 87 July 30th, 2013 Joint work Prof.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
The War Between Mice and Elephants Presented By Eric Wang Liang Guo and Ibrahim Matta Boston University ICNP
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
EEC-484/584 Computer Networks Discussion Session for HTTP and DNS Wenbing Zhao
Internet and Intranet Protocols and Applications Section V: Network Application Performance Lecture 11: Why the World Wide Wait? 4/11/2000 Arthur P. Goldberg.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
Performance Comparison of Congested HTTP/2 Links Brian Card, CS /7/
The StarNet Analyzer. Contact SNA Department x172
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
Copyright © 2005 Department of Computer Science CPSC 641 Winter Tutorial: TCP 101 The Transmission Control Protocol (TCP) is the protocol that sends.
Putting the Network to Work
Internet Basics.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 21: Publishing Your Pages on the Web.
Remote Accessing Your Home Computer Using VNC and a Dynamic DNS Name.
The Transport Layer.
The Scaling Habits of ASP.NET Applications Richard Campbell.
HTTP; The World Wide Web Protocol
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Dr Lisa Wise 18/10/2002 Website Metrics Dr Lisa Wise.
Design and Implement an Efficient Web Application Server Presented by Tai-Lin Han Date: 11/28/2000.
Global NetWatch Copyright © 2003 Global NetWatch, Inc. Factors Affecting Web Performance Getting Maximum Performance Out Of Your Web Server.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
Protocol(TCP/IP, HTTP) 송준화 조경민 2001/03/13. Network Computing Lab.2 Layering of TCP/IP-based protocols.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
In-class Paper Review #2 “Improving World Wide Web Latency” By Venkata N. Padmanabhan Department of Computer Science Southern Illinois University Edwardsville.
Chapter 2 The Internet Underlying Architecture. How the DNS works? DNS: Domain Name System Visiting a website: - Write the address - IP will use the address.
Flashback: A Peer-to-Peer Web Server for Flash Crowds Presented by Tom Batkiewicz CS 587x Fall ‘07.
Networking Basics CCNA 1 Chapter 11.
Empirical Quantification of Opportunities for Content Adaptation in Web Servers Michael Gopshtein and Dror Feitelson School of Engineering and Computer.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Networks Part 3: Packet Paths + Wireshark NYU-Poly: HSWP Instructor: Mandy Galante.
Individual Project 1 Sarah Pritchard. Fran, a customer of your company, would like to visit your company’s website from her home computer… How does your.
NASRULLAH KHAN.  Lecturer : Nasrullah   Website :
WHAT IS E-COMMERCE? E-COMMERCE is a online service that helps the seller/buyer complete their transaction through a secure server. Throughout the past.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
The Internet. Important Terms Network Network Internet Internet WWW (World Wide Web) WWW (World Wide Web) Web page Web page Web site Web site Browser.
Office 365 Performance Management. Meet Paul Andrew Office 365 Technical Product Manager – Office 365 datacenter, networking, identity management.
CPSC TCP Plots r Slides originally from Williamson at Calgary r Minor modifications are made.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
IN THIS LESSON WE WILL REVIEW THE STRUCTURE OF THE INTERNET AND HOW BROWSERS ASSEMBLE WEBSITES BASED ON INSTRUCTIONS THEY RECEIVE FROM SERVERS. Internet.
John S. Otto Mario A. Sánchez John P. Rula Fabián E. Bustamante Northwestern, EECS.
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
Performance Evaluation of Redirection Schemes in Content Distribution Networks Jussi Kangasharju, Keith W. Ross Institut Eurecom Jim W. Roberts France.
MICROSOFT AJAX CDN (CONTENT DELIVERY NETWORK) Make Your ASP.NET site faster to retrieve.
Window Control Adjust transmission rate by changing Window Size
Netscape Application Server
BTEC NCF Dip in Comp - Unit 15 Website Development Lesson 05 – Website Performance Mr C Johnston.
Web Caching? Web Caching:.
LECTURE 34: WEB PROGRAMMING FOR SCALE
TCP Sequence Number Plots
LECTURE 32: WEB PROGRAMMING FOR SCALE
LECTURE 33: WEB PROGRAMMING FOR SCALE
PUSH Flag A notification from the sender to the receiver to pass all the data the receiver has to the receiving application. Some implementations of TCP.
Configuring Internet-related services
Moodle Scalability What is Scalability?
LECTURE 33: WEB PROGRAMMING FOR SCALE
Presentation transcript:

Improving Website Performance: Top Ten Actions for Optimal Performance Lloyd W. Taylor VP Technology & Operations Keynote Systems

Poor Performance Hurts your Site Web Site Load (Number of concurrent users) Web Site Response Time Good (0 - 8 sec.) Borderline (9 – 15 sec.) Unacceptable (15 – 30 sec.) Virtually Offline (> 30 sec.) Crash! The 8 Second Barrier

Transactions per Hour And Your Revenue!

The Reality Most users click away after 8 second delay Source: Zona Research Most users click away after 8 second delay $4.4 billion in revenue lost annually due to poor web performance Source: Zona Research Most users click away after 8 second delay $4.4 billion in revenue lost annually due to poor web performance Source: Zona Research

The “Eight Second” Rule  Popularized by Zona Research in Apr 1999 –  Showed rapid increase in abandonment rate after 8 seconds – < 8 seconds  6-8% abandonment – > 8 seconds  30%+ abandonment!  But, that info is almost two years old

“8 Second Rule” Published by Zona 2.85 Seconds!

The New Rule?  KB40 was ~ 8 seconds when the report was published  KB40 is now ~ 3 seconds  Are our customers abandoning faster than they used to?  Zona is updating their report. Stay Tuned!

Time  Number Of Users Average Response Time (sec) = Completed = Attempted = Satisfied Realistic load test results: Lost & Unhappy Customers

The Reality Boston Consulting Group Survey of 12,000 U.S. Online Shoppers (March 2000) Reasons for Lost/Failed Transactions 48% “Pages took so long to load that I gave up” 45% “Site was so confusing that I couldn't find product” 26% “System crashed (got logged off) before completion”

The Internet Performance Problem Web Browser Router Load Balancer Streaming Server External Third Party Content FTP Server Server Application Server Databases Web Server

Internet Performance Model User Experience Time Page Size Min BW Turns * Delay Processing Time = + +

Page Size / Min Bandwidth  Page Size is the TOTAL size of your page – Including images, JavaScript, banners  Minimum Bandwidth is the “smallest pipe” between your content and your customer – Not just the size of your pipe to the Internet! – Default Windows RWIN setting will be limiting factor for broadband connections – TCP Slowstart will be limiting factor for small objects

The RWIN Problem - 1  TCP Receive Window Size (RWIN) limits maximum throughput for Home/Desktop PC users – As soon as the webserver sends RWIN bytes, it stops until it gets an ACK from the browser – Windows RWIN default is 8KB – Typical Webserver can send 8KB in less than 1mS, and then must wait for an ACK

The RWIN Problem - 2  Effect on Throughput – Max Thruput = RWIN/Latency – Example: 200mS RT latency, 8KB RWIN  Max Download Throughput of 328Kb/S  Actual Results of RWIN change: connection, 8K RWIN: 450KB/s connection, 64K RWIN: 1.6MB/s 

RWIN Graph

Effect of Small RWIN  It is more important to reduce latency than to improve server performance – Getting the content close to the customer is the only way to do this  HTTP 1.1 will be affected more than HTTP 1.0 – Short streams don’t usually hit RWIN limit – Long streams do

TCP Slowstart  TCP Slowstart is a congestion avoidance mechanism that is part of TCP/IP – When a server sends data to a client, it starts by sending one packet, and waiting for an ACK – Then is sends two, waits for an ACK, then four, etc., up to the RWIN size – If a packet is lost, the sender immediately cuts the send rate in half, then starts ramping up again

Effect of Slowstart  Objects that are bigger than one packet size will be delivered more slowly than expected – Typical packet size is ~1500 bytes  HTTP 1.0 will be affected more than HTTP 1.1 – Once a stream is started, there won’t be another Slowstart penalty unless a packet is lost

Page Size / Min Bandwidth  A 100KB page will take at least – 20 40Kb/s – 0.8 1Mb/s  Performance may be significantly slower due to – RWIN limits in high-latency connections – TCP Slowstart if the 100KB page is made of many small objects

Turns * Delay  “Turns” is the number of round trips across the network that are required to download the complete page – For HTTP 1.0, number of turns is 3 + (2 * #Objects)  [DNS – 1, TCPOpen – 1, HTTP Get - 1] – Typical browser allows 4 simultaneous connections, so 4 turns can happen at once  “Delay” is the round-trip latency of the path between the server and the client

What’s a Turn? SYN SYN-ACK ACK Start End turn HTTP GET TCP Open

Turns * Delay – 2  So, a rough estimate of download time for HTTP 1.0 attributable to turns and delay is: DT TD = Delay * (3 + (2 * #Objects/4)) DNS – 1 Base Page -2

Turns*Delay Example – Local 23 Objects 0.26 Sec

Turns*Delay Example – Dist. 23 Objects 3.22 Sec

Turns*Delay Example – Local 4 Objects 0.46 Sec

Turns*Delay Example – Dist. 4 Objects 0.83 Sec

Processing Time  Time for the server to process the request – Static HTML – Dynamic content (ASP, CGI) – Backend systems (database)  Time for client to process the data – Rendering – Java/shock/etc.

Optimizing Your Site  The “Top Ten” Things that you can do to optimize web site performance

Content Optimizations 10.The smaller the page, the faster the site – Carefully trade off size with content  Consider your end users – Business, Consumer, Consumer at Work  Anything much bigger than 40KB TOTAL will significantly increase abandons by dialup users  Eliminate White Space in HTML Code – Minimum Bandwidth is end-to-end!  Minimum Dialup latency is 600mS  Force Developers to test over dialup!

Content Optimizations Reduce the number of objects – Each additional object adds delay by increasing the number of turns required 8. Don’t use Java – The JVM can take several seconds to start on the client – time which counts against the ‘8 second rule’

Content Optimizations Hold your banner provider accountable – Those banners are typically served from outside your farm, but count against you in user perception – Set up an SLA with teeth, and use a third-party firm to measure compliance

Server Optimizations 6. Build a “Load Shedding” Site – When System Load exceeds a threshold, switch heavily-used pages to a reduced-size version 5. Load Test! – You don’t know what your server can handle until you try it. – Test all backend systems using transaction testing. – Use a load test product that models your user’s behavior.

Server Optimizations Put in LOTS of RAM – Memory is cheap. Put in a lot of it, and make sure your server software is configured to use it ALL. 3. Use Load-Balanced Servers – Load Balancers have become quite sophisticated, and can greatly improve the performance of your site when properly used.

Network Optimizations 2. Use a Content Delivery Network – CDNs work by reducing the Delay part of the Turns*Delay equation – The more objects you have, the more you need a CDN – The more users you have, the more you need a CDN  CDNs also help with flash crowds – Set up an SLA with teeth, and use a third-party firm to measure compliance

Most Important Of All 1.Measure Performance From the Perspective of Your End Users – What works well in your datacenter may not work well when viewed over dialup or from International locations – Continually measure not only your front end servers, but also set up measurements that exercise your back- end servers

Thank You! KEYNOTE