iMac, therefore iServe
by Brian Dunning
article | del.icio.us
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
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.