Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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 have several different applications I need to run to serve my website. To use the minimum amount of servers while still maintaining good performance, which of the following can I put on a single server?

mysql, nginx (2), memcached, sphinx search, Rails Cron jobs

I know that mysql needs a dedicated system to run, so does nginx for serving web pages. However, I have heard that memcached can be put on the web server it's self because it uses almost no cpu and ram only, where the web server uses mostly cpu.

If possible, I would really like to combine memcached, sphinx search and Rails cron jobs on one machine.

What do you think?

share|improve this question

migrated from Mar 16 '11 at 13:24

This question came from our site for professional and enthusiast programmers.

up vote 1 down vote accepted

AFAIK, you've got decent guidelines. For a definitive answer, you need to do load-testing of your specific application environment under conditions that reflect the usage you expect to see in the real world. Maybe your application generates very little SQL load, so SQL doesn't need to be on its own box. That's not often the case, but it's not an iron-clad rule that SQL must be on its own server. It's definitely a best-practice, especially if you want to scale - I'm just using it as an example.

share|improve this answer

Your Answer


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.