SHARE



ABOUT THE AUTHOR


Greg Wolf
Greg Wolf is a principal with NetForecast, helping to develop and implement performance engineering practices for enterprises. Greg has more...
Read Full Bio >>
SHARE



Greg Wolf | July 30, 2012 |

 
   

The Complexities of Web Performance

The Complexities of Web Performance Overlooking these key steps or assuming they have been optimized can risk the success of your company's website.

Overlooking these key steps or assuming they have been optimized can risk the success of your company's website.

Users of the Internet have very little patience, especially when it comes to looking for information or interacting with a website to make a purchase or reservation. The speed and responsiveness of a website is the true litmus test of whether users will continue to use it or simply look for an alternative site.

Websites and the supporting infrastructure are very complex with a lot of moving parts. There have been volumes written about all aspects of web infrastructures, covering many topics, ranging from code optimization to network design. The purpose of this article is to focus on one element of web performance--the network-based metrics that contribute to the amount of time spent before a single byte ever arrives at the user's web browser. It is important to understand these components, especially for an enterprise that develops and hosts a public facing website.

In total, five steps occur every time a user makes a request to a website for the first time. These steps are all required, with the possible exception of SSL handshake (not required if HTTPS is not used), so it is really important to understand them. In addition, I am going to share some optimization techniques and best practices to help minimize the time spent on each of these steps.

The first step is the amount of time required to make a domain lookup. This is the starting point of any request made on the Internet, regardless of the requested service. It is the process in which a host name (www.nojitter.com) is converted to a numeric address (192.155.48.108). The key point is that not all DNS services are equal. Using the services of an overloaded DNS server can have a negative impact on the end-user experience. It is estimated that the average site today references approximately 78 external links, so any added delay can be compounded very quickly.

One way to mitigate slow DNS performance is to make use of a third party DNS provider if possible. Another way is to use a longer DNS Time to Live (TTL) value. TTL is a setting for each DNS record that specifies how long a resolver is supposed to cache the DNS query before the query expires and a new one needs to be done.

The next step is amount of time required to establish a connection between a user's web browser and the web server. Unfortunately myriad factors can affect this, many of which are beyond the control of anyone due to varying performance characteristics of the network. However, an interesting point to be aware of is what happens when the initial request (the SYN packet) gets lost or dropped. Depending on the operating system used to initiate the request, the retry interval time can vary between one second (MAC/Linux) to three seconds (Windows).

After a connection is established, a common occurrence is that a user's session will be redirected to another web server. The problem is that if the initial request is redirected across another domain, the DNS lookup and TCP connection process must happen again, thus adding more time. If possible, redirects should be minimized, or landing page redirects should be made cacheable.

Websites that require a secure connection (i.e., e-commerce sites) must go through the process of an SSL handshake, which takes additional time. In order to minimize the amount of time to complete the handshake process, the web server should include a complete SSL certificate chain. When this does not happen, multiple round-trips must occur to complete the process, which incurs additional delay.

The last step in the process is the amount of time for the first byte to be delivered to the user's web browser. Two aspects can slow this process down. The first is the use of large cookies. If a cookie is large enough it may have to be split into multiple packets, which in turn can become more susceptible to packet loss or delay. The best way to mitigate this issue is to minimize the size of cookies.

The second aspect is server processing, from the perspective of how web requests and HTML documents are processed. There are a number of things that a web server can do in order to maximize efficiency and minimize processing time. Unfortunately this is a complex topic and is beyond the scope of this article.

Although each of these steps seem small, when added up they can account for a significant amount of time. Overlooking these steps or assuming they have been optimized can risk the success of your company's website.





COMMENTS



April 19, 2017

Now more than ever, enterprise contact centers have a unique opportunity to lead the way towards complete, digital transformation. Moving your contact center to the cloud is a starting point, quick

April 5, 2017

Its no secret that the cloud offers significant benefits to enterprises - including cost reduction, scalability, higher efficiency, and more flexibility. If your phone system and contact center are

March 22, 2017

As today's competitive business environments push workforces into overdrive, many enterprises are seeking ways of streamlining workflows while optimizing productivity, business agility, and speed.

April 20, 2017
Robin Gareiss, president of Nemertes Research, shares insight gleaned from the firm's 12th annual UCC Total Cost of Operations study.
March 23, 2017
Tim Banting, of Current Analysis, gives us a peek into what the next three years will bring in advance of his Enterprise Connect session exploring the question: Will there be a new model for enterpris....
March 15, 2017
Andrew Prokop, communications evangelist with Arrow Systems Integration, discusses the evolving role of the all-important session border controller.
March 9, 2017
Organizer Alan Quayle gives us the lowdown on programmable communications and all you need to know about participating in this pre-Enterprise Connect hackathon.
March 3, 2017
From protecting against new vulnerabilities to keeping security assessments up to date, security consultant Mark Collier shares tips on how best to protect your UC systems.
February 24, 2017
UC analyst Blair Pleasant sorts through the myriad cloud architectural models underlying UCaaS and CCaaS offerings, and explains why knowing the differences matter.
February 17, 2017
From the most basics of basics to the hidden gotchas, UC consultant Melissa Swartz helps demystify the complex world of SIP trunking.
February 7, 2017
UC&C consultant Kevin Kieller, a partner at enableUC, shares pointers for making the right architectural choices for your Skype for Business deployment.
February 1, 2017
Elka Popova, a Frost & Sullivan program director, shares a status report on the UCaaS market today and offers her perspective on what large enterprises need before committing to UC in the cloud.
January 26, 2017
Andrew Davis, co-founder of Wainhouse Research and chair of the Video track at Enterprise Connect 2017, sorts through the myriad cloud video service options and shares how to tell if your choice is en....
January 23, 2017
Sheila McGee-Smith, Contact Center/Customer Experience track chair for Enterprise Connect 2017, tells us what we need to know about the role cloud software is playing in contact centers today.