DreamHost to Slicehost

by Subbu Allamaraju on March 8, 2008

My Cyclogz.com (alpha) went live today. The site was near-launch ready about a week ago, but I could not announce it due to performance issues I had with my shared hosting account at DreamHost. At the last minute, I cancelled my account with DreamHost and went with Slicehost, and I am very pleased with my choice so far.

First things first. DreamHost is a great choice to get started and try out things. I opened an account with them nearly two months ago. I had a chance to deploy Cyclogz.com to realize how performance intensive Cyclogz is. Cyclogz gets its data from GPS devices, and this data tends to be voluminous. It is also JavaScript heavy since most of the processing happens on the client side, and it needs to load lots of JavaScript from the server. The performance constraints of the DreamHost’s shared account made me rewrite several features and kept me continually tune those for speed. At the end, I ran out of any more ideas to speed up things. I did sign up for a DreamHost PS account, but the waiting list to get one is too long (4+ weeks as of yesterday), and so I decided to look elsewhere.

What I liked most about DreamHost was their control panel, and the number of apps that I could install through the control panel with a single click. What I hated most was the performance, and their FastCGI model for Ruby on Rails. It was slow, with pages taking upto a minute to download. That’s when I signed for a 257MB/257MHz PS account. Two days ago, DreamHost support told me that I won’t get a PS account for at least a month as they are waiting for new hardware. That’s when I decided to look elsewhere. I went with Slicehost.

Slicehost surprised me. Initially I was reluctant to try it since I did not want to spend my time setting up everything on a barebones Linux slice. Following the instructions at the Slicehost wiki, I spent last night setting up Apache2, Subversion, Rails, WordPress, and bbPress on a barebones 256MB Ubutu slice. The instructions on their wiki were very useful. I messed up my slice a few times, but was able to rebuild the slice and start all over again. My slice has been running quietly for the last twenty four hours, with a three-instance Mongrel cluster behind an Apache web server to power up Cyclgoz.com!

{ 9 comments… read them below or add one }

1 Ben March 9, 2008 at 4:12 am

How did you implement parsing those garmin files? Was it easy?

Reply

2 pcdinh March 9, 2008 at 10:11 am

I wonder why you still use Ruby on Rails. Rails is slow by nature. Recently, yet another guy said goodbye to Rails and come back to PHP: http://conductr.com/2008/3/3/php-string-manipulation-performance-benchmarking

Reply

3 Subbu Allamaraju March 9, 2008 at 10:23 am

Dev productivity is the main reason I went with Rails. I could have spent three more months to write this in PHP and may be six more months to write it in Java. Between FastCGI on a shared account and Mongrel on a dedicated slice, I see 20-fold increase in speed on average.

Reply

4 pcdinh March 9, 2008 at 10:52 am

Subbu,

Don’t just use raw PHP. Go with Zend Framework, Symfony and you should get productivity boost. Rails is a framework, right? The main point of developer productivity in Rails, Zend Framework, Symfony, SolarPHP, CakePHP is that lot of common, complicated things are abstracted at framework level and exposed in simple APIs. So I think they should share some common design and philosophy.

Rails is slow because it make things more complicated at framework level then other peers. It may do lot of things that you never need. ActiveRecord in Ruby will never be as efficient as in Hibernate ORM because Hibernate can use JVM as memory server to cache/pool tasks before getting them processed. User often think that Rails make their life easier but in fact, user need to pay expensive cost.

Java is another realm. It is a static-typed, state-ful and VM-based technology. It is not for quick development but for stability and accountability.

Just my 2 cents.

Reply

5 slicematt March 14, 2008 at 1:00 pm

Welcome aboard Subbu, glad to have you with us.

Reply

6 Prashanth Ellina April 7, 2008 at 9:05 am

I am using Dreamhost currently. Since, I am starting a website which needs to have good uptime, I’ve taken a slice. Have to check it out. Thanks for the info.

Reply

7 Subbu Allamaraju April 10, 2008 at 2:54 pm
8 Julian Burgess April 23, 2008 at 1:45 am

I’m doing the same thing, tried Dreamhost but Ruby on Rails doesn’t work well with shared hosting. The Slicehost instructions and wiki are really good. To PHP users don’t put down Ruby on Rails until you’ve tried it, and it’s getting faster all the time. Cyclogz is a brilliant site btw.

Reply

9 Subbu Allamaraju April 24, 2008 at 7:11 pm

Thanks. I can’t agree more.

Reply

Leave a Comment

Previous post:

Next post: