Website monitoring pays off

I’ve been monitoring the perfromance and availability of some of my websites for two years now. By measuring things like how long it takes to connect to the web server, how long it takes for the web server to respond, and how long it takes to download all the content, I’ve been able to improve the performance of several websites, including of course, BritBlog.

The website monitoring service that I use also alerts me by SMS and EMail when the web sites die, or if they fail to respond in the expected fashion. This has been particularly handy for BritBlog which runs on a rather temperamental server!

Anyway, I’ve talked about methods I’ve used to improve the perfomance of my websites in the past, including HTTP compression and server side caching with the PEAR cache_lite module. You can also see graphs from my monitoring service in some of those posts if you want to see the improvements already made.

Today, I’m going to introduce another caching approach: memcached.

memcached is a high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load.

Instead of using cache files on disc, memcached uses RAM. This makes any read/write action very quick indeed! It runs in a client/server model too, meaning the caching server can be physically separate to the web server. While this will have some performance impact, it has a lot of benefits too if you’re using multiple web servers.

I haven’t got time at the moment to talk about my implementation of it, but I thought I’d share the results with you. The graph below is a plot of the “data start time” (the time it takes for the first byte of data to come back from the web server after the request has been made) for the technoranki rank icons before and after I implemented memcached. Before switching to memcached I was using cache_lite.

data start plot

As you can see, there is a noticable improvement from 1PM onwards. Although we’re only saving maybe 4 milliseconds per request, it’s still nearly a 30% improvement in performance. This means resources are released more quickly on the web server and it can think about handling more requests. It also means less disc access, which can only be a good thing.

So who would have thought monitoring your web site could be so interesting?

Tags: , , ,

Sociable:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg
  • Furl
  • NewsVine
  • Reddit
  • YahooMyWeb

Leave a Reply