Sunday, December 21, 2008

We're faster (but not resting)

Last Wednesday John brought live two new database servers, Alexander and Hannibal*.

Together, they more than doubled our database heft. Put another way, our servers, which were operating at near full capacity all day long, can finally rest a bit. They can do everything as fast as they're able, unencumbered by unsupportable amounts of work.

Performance. The effect on site performance has been positive. But problems remain. Profile pages are dramatically faster. Author, work, subject are faster and no longer slow down at peak times. Talk pages are essentially unchanged.

The catalog is faster. The page-generation averages now hover just over one second, not around two seconds. But I was hoping for more. The standard deviation of page-creation times remains high—people with huge libraries get hurt. Last night we I made a series of improvements which I hope will pay off. (The standard deviation is down, but will it stay down?)

The future. We will continue to improve. Until Wednesday the situation was desperate. When a box got behind, we had to turn off access to interior pages to all but signed-in members. That day is over, thank God**. And we can finally tease apart what was is itself slow, versus what was just slow because everything else was slowing it down. Lastly, John has long wanted to try out some low-level tweaks, but with no spare capacity, couldn't. I expect he will find ways to wring more out of what we have.

Whether he can or not, we are going to keep improving. We have laid aside the money to buy a number of other servers—up to ten, if needed. One or two will be database servers, probably removing administration and caching traffic from the live servers. A number will be memory machines—low-end boxes with tiny disk drives and obscene amounts of RAM. They'll help us use memory caching more effectively, reducing database load. The balance will be tasked in other ways—supporting LibraryThing for Libraries, serving secondary resources (covers, APIs, widgets) and providing redundancy, so we won't be skating along a cliff anymore.

Thanks to John for getting the new servers racked and running. Thanks to the members for hanging in with us as we grow, and grew and grew!


*Yes, I named them. Cliche, I know. But Alexander was my research interest in grad school, so I'm allowed! Anyway, at least they're consistent, and set a pattern we can follow (next up, Mithridates and Shapur). I'm still bothered that a previous sysadmin named our twin MyISAM databases Apollo and Athena, not Apollo and Artemis (who were twins). Then there's Plato and his bigger twin Mongo, which makes no sense, but feels right, and the one everyone hates, our backup machine, Mnemosyne.
** John adds "the upgrade has given our database servers more horsepower rather than more raw speed. While the new servers are faster, the biggest initial gain is in the amount of load we can take on without starting to slow down."

Labels: ,

Monday, October 08, 2007

Welcome Felius!

We've gone ahead and hired our first full-time, dedicated systems administrator. His name is John Dalton, but you know him as Felius, a LibraryThing member since September 14, 2005—two weeks after we launched! When he bleeds, he bleeds LibraryThing.

John's mission at LibraryThing is simple:
  • Make things stable
  • Make things fast
John isn't a miracle worker. A lot of our problems are in code, not systems (ie., blame me)*. Being without a dedicated, full-time "sysadmin" for so long has given him a lot of work to do. And our continued growth is scary. But we're overjoyed to have him on board, and expect great things.

A few more things:
  • John lives in Tasmania, Australia. Seriously. This presents fewer problems than you might think. Although he's fifteen hours ahead, everyone at LT works like a maniac, so our work days overlap a lot. And what is to our US and European members late-night maintenance and downtime takes place during his lunch hour.**
  • As we promised when we advertised for the job, whoever discovered our next employee would get a $1,000 book spree. We allowed people to find themself, which is what John did. Don't you wish you worked for LibraryThing, or at least sent me a note about this guy Felius? He promises to be the first user of our upcoming wishlist feature. Then he'll get his wish.
  • Favourite authors include Neal Stephenson, Arthur C. Clarke, Neil Gaiman, Bill Bryson and Simon Winchester.***
  • When not watching a dozen terminals or poring over columns of sar output, or reading, John's interests include spending time with his wife and two young boys, gaming, playing cricket (badly) and occasionally performing in the Tenor section of the Tasmanian Symphony Orchestra Chorus.
*John is also a programmer, but we're not going to be calling on these skills regularly. There's enough pure systems stuff to do.
**Between John in Tasmania, Casey is Seattle and Giovanni in Germany, we can now officially claim that the "sun never sets on LibraryThing." We can also claim some really complex accounting. John is even paid in Australian dollars, which fluctuate rather wildly against the dollar.
***He and I share Alfred Bester, Clifford Stoll and Paul Graham—right on.

Labels: , , , ,