Phew… that was a lot of work. I have a bunch of small sites that I migrated to slicehost, and at the same time upgraded to Rails 2.1. Here are my notes:
x86_64 sucks up memory in a bad way. On a 32-bit x86 system
davidw 20089 0.0 0.1 3320 1428 pts/1 S+ 11:41 0:00 ruby
and on x86-64:
davidw 24197 0.0 0.1 16756 1968 pts/0 S+ 18:33 0:00 ruby
Ouch! That means that you’ll need more memory, and thus to spend more money, to run code that might have fit decently in a similar amount of memory on an x86 machine. For instance, my old server had a gig, and was running low on memory, so on slicehost, I set up one 512 meg slice to handle PostgreSQL, and a gig slice to handle Apache and Rails. The database slice is performing ok, but the ‘web’ one is kind of iffy in terms of memory. Part of the problem here, I will admit, is that Rails is a memory hog, but still, I had hoped to come out ahead by moving from a machine with 1 gig to two machines with 1.5 gigs between them, and instead I’m more or less where I was before.
I got caught up in a bit of a mess with Rails and the Ubuntu Intrepid update. I prefer to manage the Ruby stuff with gems, rather than traditional .deb package management, as I’ve had better luck with that in the past. I do use some of the system packages though, such as libpgsql-ruby1.8. However, the maintainers did something kind of ugly with the package: they swapped out the actual code from one code base to another – “Switched upstream source from ruby-postgres to ruby-pg”. Which changes the way you load it, and perhaps a few other things as well. I think I would have been happier seeing the package renamed or something, as all of a sudden, programs stopped working.
I really like the ability to resize slices. I started both my slices at the 256 size, and then made them bigger when I was ready to put them into production. The process is not instantaneous, but it’s pretty handy if you need more capacity in a hurry. Adding new slices is also fast.
So, all in all, I’m happy with the move, although the memory issue is irritating.