Just to recap – various stuff that runs Ravelry and my opinion on each:
- Ruby on Rails 2: Love it. Moving to 2.1 for the named scopes (and because I’m on Edge somewhere between 2 and 2.1)
- Thin : stable. A little nicer than Mongrel.
- nginx : rocks. (ie. fast, stable, does what I want, trouble-free)
- haproxy: rocks (ditto).
- Sphinx : rocks (ditto).
- backgroundrb : the new and different version ain’t bad. Give it a try.
- Ferret / acts_as_ferret : phased out. Kind of a pain, slow to reindex. The DRb business made things shaky at times (ie. ferret server goes down, badness ensues).
MySQL 5.1.24 (rc2) and the innodb plugin: argh. Had deadlocked for no apparent reason, killing processes doesn’t help, MySQL hangs, must kill MySQL 🙁 This has happened 3 times in the same number of weeks. MySQL 5.0.something worked great for a year but I’m a hopeless magpie sometimes. On the plus side, MySQL 5.1 seems to recover faster and slaves don’t lose their minds during the kill/restart. heh. I’m blaming MySQL and not the plugin (just a hunch, I have no evidence). In any case, wait for the next release.
Next time I’ll have to grab processlist and innodb status output so I can actually try to find/report the bug. Doh. I started up Maatkit’s mk-deadlock-logger, so hopefully that will catch it…