I run a website Cucumbertown with an initial pay load of nearly 9KB zipped.

enter image description here

All my js is delayed loaded with requirejs and modernizer is the only exception. Now all my webpages are Nginx cached and only 10-15% hits go to the backend proxy. And the cache is invalidated by logged in users as proxy_cache_bypass. So for an anonymous user its nearly always a cache hit.

I have some basic OS tuning with

default via ip dev eth0  initcwnd 15                                          
net.ipv4.tcp_slow_start_after_idle 0

Despite an all cache & large initcwnd my pages still take 2.5 – 3 seconds.

I have a yslow score of

enter image description here

And page speed at

enter image description here

Are there strategies that can help deliver webpages even faster than this? Deliver pages at 1+ second time for 10KB payload?

Notes: My servers run of a fairly good data center from Linode at Fremont.

4 Answers 4


First of all: you are basically doing a lot of things very good at the moment. This results in good grades in PageSpeed for example. Also keep in mind that the biggest part of the waiting time is spent on the frontend, so it makes sense to optimize this before going deep into server configuration.

These are some ideas:

  • there are a lot of image requests, for example to your kitchen subdomain. If possible, combine them to one sprited image.
  • You are using some external Javascripts like Uservoice. They tend to slow down the loading a bit.
  • if you are not doing this already, try to serve your static JS, CSS and imagefiles from a cookieless CDN subdomain
  • @Cherian I have tried to run pingdom tool on your homepage, there are 43 requests.. I would say a bit too many. Try to combine some images in a sprite.
    – milo5b
    Oct 23, 2012 at 12:37
  • @milo5b Thanks for the images issue. But i dont think it will decreases the load time. Images load in parallel and the page load time is not affected even if the images are not loaded.
    – Cherian
    Oct 24, 2012 at 6:00
  • All the js except modernizer & requirejs is delayloaded. And thirdparty js is loaded via setimeout after domComplete. All assets including js/images etc are loaded from a cookieless domain fruits.cucumbertown.com
    – Cherian
    Oct 24, 2012 at 6:04
  • 1
    Browsers have a limit on the number of requests that can be made in parallel to the same domain. stackoverflow.com/questions/7456325/…
    – milo5b
    Oct 24, 2012 at 9:16

One thing is combine and consolidate your .css and .js files. Even though they are usually cached, it's faster to download 1 5k file than 5 1k files.


It looks like most of your page load time is your images. I know other answerers have said this, but I want to add a little evidence behind it because you seemed skeptical. See the Firebug profile below.

Firebug profile of your site's load time

So, the first thing I want to point out is all of the gray/brown. That's blocking time where something - usually the other requests, but sometimes in-page javascript - is blocking the other requests from even beginning. If those images were in one request, or you had fewer images, then your site would load faster.

I'm also not seeing expires headers on your images, so even on reloads (which are much faster), there is still blocking going on as my browser has to actually check each image with the server to see if it's updated. An expires header would prevent this.


1.If your web host is farther you might want to look into getting a new host. you can do a ping test, if the response time is large try hosting service nearby.

2.If there is a problem with bandwidth site might be slow.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.