Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I currently have a VPS at HostingRails.com, and am rather disappointed with the service so I have been considering switching to linode instead. I have three rails applications (my live application, the QA version of the live application, and one redmine) running on Passenger on Apache, a phpbb installation, and one mysql database currently running on my VPS which altogether takes up about 400MB of RAM at the moment.

I am trying to figure out if it'd be better to get a 720MB node and just stick everything on there, or get two 360MB nodes and have the live site on one and the QA site and redmine on the other (in that case, would you suggest two separate databases, one for each node)? It was suggested to me that splitting up my applications would be a good idea, but I don't know if that's true; I figure that if I have one node, if the live application needs more memory, it can take out of the 360MB that probably wouldn't be fully used by my QA install and redmine.

Also, I currently have my SVN (1 active project, a couple inactive ones, two users) hosted on Dreamhost because I had paid for a plan in advance and left my SVN there instead of moving it to my VPS. Would moving SVN to linode affect your answer?

share|improve this question
up vote 3 down vote accepted

With two nodes, while you get the same amount of memory, you also get twice as much CPU time and IO tokens.
SVN could run in the same apache instance as Passenger, without hurting performance too much.

Also, you might want to consider a different setup: one database node, and one webserver node. Neither would be underutilised (apache is quite heavy, after all), and, if they were in the same datacenter, you could point both public IPs at the webserver node (Linode allow this), and let it communicate with the database node through Linode's LAN (avoiding transfer quotas).

share|improve this answer

From experience with providing managed hosting for a couple of Rails-based businesses, it has always proven successful to separate db and app (as fahadsadah points out).

However, I would not run Apache and nginx on the same machine, especially in a limited resources vps environment. As has been said before, Apache itself is pretty heavy, but it can handle all your passenger, svn, php needs. So I would not add nginx to the mix. After all, it's one more piece of software that needs to be maintained (configured, updated/patched, etc.).

Also, I personally tend to not host my source code within the same setup that my app runs on. I'm pretty confident in the robustness and security of our code, but if someone ever manages to find a way through the app and on the server, he'd have full access to our source as well. And your data and your code revisions is possibly the last thing you want a cracker to get his hands on...

I know it's a shameless plug, but my company offers bundled Redmine & SVN hosting under the brand Planio. There should be other services like Planio as well, so you can make a choice. My main advice is: try to delegate hosting of supportive systems to trusted external parties and focus your hosting efforts on your core thing (i.e. your app).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.
{"cc_re__cc_re__cc_by_sa_3_0": ["                    <li><a href=\"//area51.stackexchange.com\" title=\"proposing new sites in the Stack Exchange network\">Area 51</a></li>\r\n                        <li><a href=\"//careers.stackoverflow.com\">Stack Overflow Careers</a></li>\r\n                    \r\n                </ol>\r\n            </td>\r\n    </tr>\r\n</table>\r\n                </div>\r\n            </div>\r\n            <div id=\"copyright\">\r\n                site design / logo &#169; 2016 Stack Exchange Inc; user contributions licensed under <a href=\"https://creativecommons.org/licenses/by-sa/3.0/\" rel=\"license\">cc by-sa 3.0</a> \r\n                with <a href=\"http://blog.stackoverflow.com/2009/06/attribution-required/\" rel=\"license\">attribution required</a>\r\n            </div>\r\n            <div id=\"svnrev\">\r\n                rev 2016.5.2.3530\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <noscript>\r\n        <div id=\"noscript-warning\">Server Fault works best with JavaScript enabled<img src=\"http://pixel.quantserve.com/pixel/p-c1rF4kxgLUzNc.gif\" alt=\"\" class=\"dno\"></div>\r\n    </noscript>\r\n<script>v"], "copyright__copyright__copyright": ["ne & SVN hosting under the brand Planio. There should be other services like Planio as well, so you can make a choice. My main advice is: try to delegate hosting of supportive systems to trusted external parties and focus your hosting efforts on your core thing (i.e. your app).\n\nshare|improve this answer\n\nYour Answer\n\n\u00a0\ndiscard\n\nBy posting your answer, you agree to the privacy policy and terms of service.\n\nNot the answer you're looking for? Browse other questions tagged or ask your own question."]}