Inspired by a few articles I came across recently, namely:
- http://css-tricks.com/images-on-a-subdomain/ (Chris' move to a separate domain)
- http://developer.yahoo.com/performance/rules.html#cookie_free (rules for improving performance)
- http://sstatic.net/ (Stackoverflow's static site)
- Increasing the number of simultaneous requests
- Reducing the size of the requests/responses to and from the server(s)
2) is achieved in the same way, by switching off cookies on slickhouse.co.uk - which in turn, can help reduce the request/response sizes and thus the page load times.
My initial testing has shown a noticeable improvement, though I don't have any metrics to share. I used Microsoft's Fiddler tool to profile the load times and was surprised how much external content the site uses, from 3rd parties. The twitter feed on the right is 2 requests alone and the Google Map that was tucked away in the site's footer added a further 20 or so. This gave a sluggish feel to the site as each page loaded.
So I updated the theme files and removed some of the excess requests, to bring it down to ~14 for the homepage. It's still high and could be improved further using CSS sprites. But I'll save that for the next version.
To summarise, splitting your static content from the dynamic pages helps increase page load times. It also allows for future expandability, as the static content could be hosted on a separate server, or even on a cloud/CDN solution.
Slickhouse.com has been running on a dedicated Windows Server (2003) with Internet Information Services (IIS6) for nearly 6 months now - without any issues.
The initial setup proved to be a big headache, as PHP wouldn't play ball with my network setup. But after many hours of trying, I finally cracked it and migrated all of my Linux (shared) hosted sites to my very own server(s).
With the arrival of Server 2008, Microsoft has introduced IIS7 - which proves to be feature rich and secure. In most cases, I'd stand by the philosophy:
If it isn't broke, don't fix itBut in this instance, upgrading to IIS7 would be beneficial, no only for the aformentioned improved security, but also (hopefully) a performance gain.
Microsoft has greatly improved its online resources over the recent years, with IIS gaining its own site. There are plenty of tutorials, including the following:
The second article is vital for the permalinks that WordPress uses. A default install uses a crude URL with QueryString parameters (i.e. /index.php?post=123), but permalinks enable friendly URLs such as /2009-04-24/wordpress-in-iis7/
There's not much else needed and from my initial testing, Server 2008 and IIS 7 play ball very well with PHP/WordPress. I'll soon be moving all of the sites on my IIS 6 webserver across, allowing me to take advantage of the new platform. I'll keep you updated!