E Commerce Response Time Tuning Tips

Help me run a checkup on my website

Improve the user experience via response times and with it your conversion rates

How can LiteSquare Help Over the years there are a number of common patterns we have observed in public facing eCommerce sites which directly impact performance. Buttoning up these issues will directly impact both your response time and the ability to scale at times of high demand.

  • If you do not have a CDN (Content Distribution Network), deploy one. A CDN is the best way to stage requested items closest to your clients for service. This has the affect improving response times and conversion rates. If you don't have a CDN provider then we recommend Akamai due to the largest number of nodes in its network.

  • Check for Cache exceptions. The goal for your CDN is to handle all of your static elements, leaving only dynamic requests to be addressed when your site is under load. There are some very good rules of thumb for how long your cache age should be set to:

    Mountain View

    1. Fonts & icons should be cacheable for up to one year at the client or the CDN. There are many different formats for fonts and it is very easy to miss one type in your cache plan.
    2. When was the last time you updated your corporate Logo? For most organizations logos last for months, often years. Consider this level of volatility when setting cache age for your logo. We recommend using a label on your logo which has the date of the last change and then caching this file with a timeout of no less than one month. When your logo changes, just create a new file with a new filename.
    3. Images should be set minimally to your build schedule. For instance, if you deploy every Saturday at midnight, then your minimum cache expiration should be on Saturday at midnight to account for changes to static images
    4. Static code elements should match images to the build schedule. These include HTML, JavaScript, Style Sheets, etc...
    5. Examine the log for cache-busting requests. These are requests for static elements which contain a parameter. This is most often a timestamp. This causes the file not to be cached at the CDN layer or the client
  • Minify and Compress your code elements. Minifying is the act of removing extra spaces. While the extra spaces make it easier for your developers to read, the extra spaces result in larger files for transmission across a network connection. Setting compression for these code elements at the server further reduces the amount of time required to transfer the files to your end user.

  • Check to ensure that you do not have any Temporary Redirects (HTTP 302) set to static resources. Any redirect to a static resource, such as font, should be permanent.

  • Set the cache age on your Permanent Redirects (HTTP 301) to match that of your build schedule. This will allow your redirects to be handled by your CDN in a very efficient manner, avoiding an extra round trip to the server to resolve where a file is located. Most CDN providers will resolve the redirect and provide the contents of the file on the first response.

  • If you have a perpetual shopping cart, where a person can place an item in the cart and return some time later to convert then there are some items to address:

    1. Remove empty carts from cart storage. This reduces the amount of time to pull from storage a cart with convertible contents
    2. Carts which have not been accessed for a prolonged period, such as one year, should be purged
    3. Carts in the top one percentile of contents, either by number of elements or by total dollar amount, should be sent to inside sales to either convert with incentives or to purge the cart from the system to remove overhead
    4. Set a policy for Elements & Age, such as 50:100. When a cart reaches 50 elements then it is moved to inside sales for conversion. When it reaches 100 days untouched then it is removed. The goal is to both convert and remove overhead from the system which hampers revenue producing users