For the majority of the past five years, Pushover has run on one physical OpenBSD server. It does have a hot spare hosted with another company in another part of the country, but usually everything has been served from just one machine at a time. Its MariaDB database is replicated in a master-master configuration over a secure tunnel between the servers so that either node can become active at any time.
with the help of rails'
stylesheet_link_tag et al. appending urls with "
?1214348293", i was able to use apache's
ExpiresActive to force very long expiration times on these static assets:
i'm using god on openbsd (kqueue) to monitor a dozen mongrel processes for various rails sites on one of my servers. i started using it just to have a simple way of restarting each collection of processes when i need to load new code or just start them when the machine boots up. eventually, i added cpu and memory checks to kill processes that go stray for too long, which doesn't happen that often.
however, now the task that constantly uses too much memory and cpu is... the very task that is supposed to be watching for tasks using too much memory and cpu.