May 2000

iMac, therefore iServe
by Brian Dunning

digg this article | del.icio.us this article

Why is it that a single Mac seems to do the same job as a full rack of three Sun Enterprise 450 machines, or a dozen load balanced VA Linux boxes? I'm just asking; I don't know the answer.

I'm sitting here right now inside AboveNet (www.above.net), one of the world's largest server farms, in downtown San Jose. I'm visiting the servers of a friend's Internet company, which hosts its machines inside a private, locked cage at AboveNet's impressive facility.

Most cages have banners or labels so you can tell which web site owns the contents. Most you've never heard of, and probably never will: they are predominantly venture capital funded flashes in the pan which will never turn a profit or even exist in the near future. Liberally sprinkled herein are many of the biggest names as well, and what's funny is that they all have similar equipment. Sites which get five visitors a day are just as robustly backended as those which service a million an hour. Sites running Solaris are usually loaded with expensive Sun servers the size of a small refrigerator. Other sites, running NT or Linux, run on flat rack- mounted dual Pentium machines from any of a zillion vendors, or just as often, built from parts for half the price. Any of these would blow away the fastest desktop machines. Cisco firewalls and load balancers are everywhere, and it's clear that the latest fad among server vendors is to see who can design the coolest looking front panel.

Secreted within a closed, opaque cabinet (a less expensive alternative to a cage), is my friend's server. They chose a cabinet because they are the only (to their knowledge) one of AboveNet's customers which relies on the Mac OS as their server's operating system. Apparently everyone made so much fun of them when they rolled the iMacs in that they decided to hide them.

The site uses a single Mac G4 as the one and only web server. Two iMacs serve as FileMaker clients, and a dual-Pentium NT box runs FileMaker Server. Confidentiality policies forbid me to identify the site, but if you've ever used the Internet you've heard of it, and if you know anything about commercial Internet infrastructure you'd be stunned to learn that it runs on a single Mac.

It's not the hardest pounded site in the world, but it easily dispenses over a million hits a day with fine performance. I suppose that if everyone in the world clicked their submit buttons at once, the Mac's single- threaded nature would definitely choke; but that's not the reality of site traffic.

Why, then, do so many of these cages have as much as a million dollars worth of server hardware in them? One probable reason is that most venture capital money seems to be in the hands of the proverbial Kid in a Candy Store. If you're a Unix geek, and your friends are Unix geeks, and someone gives you ten million dollars without adult supervision, your cage starts to look like the bridge of the Enterprise.

But perhaps that's too cynical. Certainly many of these sites do handle far more traffic than any one Mac could ever hope to, but not very many of them. The rest hope to have that problem, but I think most of them just haven't identified what their true needs actually are. If a $2000 computer can handle a million hits a day, throw in a backup machine or two for redundancy and fault tolerance, and for less than the price of smelling the cheapest Sun machine, you have a robust system that ought to last you for the foreseeable future.

Can this really be true? Evidently it is. So what's the secret behind this particular Mac? Is this the world's fastest processor crammed in there?

"The key is efficient use of FileMaker," says my friend. "Knowing what slows it down, like calculating and scripts, makes it easy to design an efficient system that avoids those pitfalls." One of their FileMaker files has just passed the 3 million record mark, and I did a search from my laptop (plugged into their server) and it found a hundred or so records in the blink of an eye. "See?" he continued, "no calculations. One big index. No extra fields on the layout. Lots of RAM."

Fourteen words which convinced me. The FileMaker actions add such a tiny amount of time to the site requests that the web server is loafing most of the day. The web server relies heavily on caching, and the site itself is light on graphics. There are no worthless Java applets, streaming garbage, Shockwave stuff, or anything else to clog the server's spigot. Yet the site is quite attractive. "We didn't tone down the artistic element of our presentation at all. We just made different artistic choices which happened to favor server efficiency." The net result of all this sensible planning is a perfectly serviceable web server that cost practically nothing, can be easily managed through the Mac's handy GUI, and requires no team of system administrators to maintain.

Sounds pretty smart to me. But I didn't spend a million dollars on my server either, so maybe I'm missing something.