Considering moving to Linode, need suggestions
I currently have an account with Dreamhost which is expiring in a couple months and an account with another VPS provider which I am not very happy about. I have three Ruby on Rails applications (live app, the test version of my live app, and a Redmine
Currently, my VPS with the three rails apps (passenger/apache) + mysql + 2 php apps takes up on average about 450-500MB of RAM (I'm not really sure how much SVN is taking up).
I was considering getting a 720 but it was suggested to me that 2 360s, one as a webserver node and one as a database node, would be a good solution. I am concerned though that one 360 will not be enough RAM for three rails apps (only the live one is heavily used, but still). I'm not really sure where SVN would live in such a setup.
I am interested in people's suggestions – would you go for that sort of set up, or combine it all into one bigger node? Could you think of a better way to organizing two nodes?
Any help would be appreciated!
16 Replies
Also of note is that bandwidth is pooled per-account regardless of datacenter; 2x360 or 1x720 have the same bandwidth allotment, and you could keep one 360 as a back-end that does no net traffic, and use all the bandwidth on the other 360.
Two boxes is a great solution if you need more mysql horsepower (then your share of the VPS CPU provides), but it's an overkill if you don't have enough traffic to warrant it.
Personally, I'd probably go simple (i.e. a single 720), get it running, and see what (if any) problems occur - then deal with them when you have real results (good or bad) to work with.
Assuming things fit, is there any practical benefit to two 360s over one 720?
Once you've hit that wall, then you need to either get a bigger VPS or split your site across two (or more) boxes in order to have enough CPU for your applications. Having your DB on it's own VPS just makes it easier to allocate resources to that service (i.e. it gets all of the available CPU).
If that isn't likely to happen, then keeping it on one box simplifies management.
@dvandersluis:
My main site gets about 1500-2000 pageviews per day. As I was saying, my existing VPS (with all the same things minus SVN) averages around 500MB of RAM so I want to be able to have more than that in case it's needed.
Assuming things fit, is there any practical benefit to two 360s over one 720?
With some tuning, I'd have to think you could get that RAM number down and fit in a 360. People are doing a lot more than 2000 on a 360.
@spearson:
Are you using a 64 bit OS over at Dreamhost? That memory usage seems high to me for some reason, although I haven't much experience with RoR. If so you could probably get away with even 1 360 if bandwidth permits.
I agree, go for 32-bit systems as they generally consume less memory.
IMO Rails is a memory hog, so I'd recommend against getting two 360s.
However, the signup system here is very simplified and automated, so you can sign up for a 360 and experiment with it. Then add a linode to your account to experiment with two linodes. After that you can trash the second one and resize the first to 720 - all these happen automatically and nearly instantaneously (within minutes).
I was thinking about moving to nginx as well (though I've never used it), but I know that SVN needs apache. Is running both on the same machine a bad idea? If I'm going to be running apache anyways, is there any point to having nginx as well?
Thanks to everyone for their assistance, I really appreciate it.
Some people do run Nginx in front of Apache. I don't know how worthwhile it is – I just run Lighttpd.
You don't have to make svn available over HTTP. If you just need svn:// and SSH access, you don't need Apache and moddavsvn at all.
And you could always switch to a VCS that's easier to set up.