Thursday, January 31, 2008

Tarnished Halo

Now, a veritable test of my techi blue peter badge. Can I explain enough about web architecture to answer Clarissa’s question of “Why aren't there any comments in the pop up box, when the link says there are three comments?” To do this properly I need a whiteboard and some non permanent markers, but I do a text blog, so I’ll just have to make do with words.

I can not answer explicitly about Haloscan, as I’ve never talked to the guy who built it. However, there are some fundamentals of web technology that would likely explain what’s going on when Clarissa sees a certain number beside the comment button, but then sees no comments.

First I’ll start with how a web delivery system is layered. The internet is a numbers game you see. Clunky old servers with slow hard drives are necessary, because you invariably have more information than you know what to do with. However, if you try to answer every request that comes in from the internet, you really can’t do it fast enough. So, you put what’s known as a proxy device on top of your server. This has lots of silicon memory, like in your mobile phone or ipod nano. Its fast, very fast, but expensive.

What you do, is keep your most commonly called elements up in the proxies. There are always bits of a web page, like the branded header or navigation bar, that never change. You keep these up in the ultra fast memory. Other changeable things, you keep up there, but put an expiry against them. Say, for a blog, you keep today’s post in the proxy. It will be called and read frequently, so you keep it up where its fast, but you give it an expiry of say, a day. It won’t get read so much tomorrow. Everything else, all the infrequently read stuff, you keep down in the slow clunky web server with hard drives. It gets called up as and when.

Generally this works very well. You keep the things you need fast or that will get frequently viewed, in fast memory. Things that don’t get used much, you call when needed. But… its all a numbers game. Sometimes you get it wrong, say you have a picture that hasn’t been viewed in days, but for some reason suddenly 1,000 people want to look at it, exactly at the same time. It happens. 1,000 requests for the same thing (or maybe 1,000 requests for completely different things) at the same time can queue up a web server, and to all the public out there the web page suddenly grinds to a halt. So you put in safe guards, and maybe deliver an empty packet of information or a little message saying “Sorry”.

So, in Clarissa’s case, everything worked as it should when Haloscan was asked for the number of comments on a post, it was supplied as needed. However, when she then clicked on the link, and asked for the comments themselves, something went wrong. Likely it was just too many people asking for different blog comments at once (much as I like to think I’m widely read, I highly doubt 1,000 people suddenly wanted the same comments). To protect itself, Haloscan delivered the pop up box, complete with template (because that will be in the proxy), but just couldn’t deal with the request for the comment text, and was delivered back nothing.

Not ideal. I’ve noticed Haloscan can be a bit flacky at times, but then its paid for by the advertising. Likely it’s a pretty mean gruel to live on, so the infrastructure is designed to cope by delivering nothing once in a while when its too busy. Sad, but necessary.


<< Home