У меня есть несколько разных приложений, которые мне нужно запустить для обслуживания моего веб-сайта. Что из перечисленного я могу разместить на одном сервере, чтобы использовать минимальное количество серверов при сохранении хорошей производительности?
mysql, nginx (2), memcached, поиск sphinx, задания Rails Cron
Я знаю, что mysql нуждается в специальной системе для работы, как и nginx для обслуживания веб-страниц. Тем не менее, я слышал, что memcached может быть размещен на веб-сервере сам, потому что он почти не использует только ЦП и ОЗУ, тогда как веб-сервер использует в основном ЦП.
Если возможно, мне бы очень хотелось объединить на одной машине задания memcached, sphinx search и Rails cron.
Что вы думаете?
AFAIK, у вас есть достойные рекомендации. Чтобы получить окончательный ответ, вам необходимо провести нагрузочное тестирование вашей конкретной среды приложения в условиях, которые отражают использование, которое вы ожидаете увидеть в реальном мире. Возможно, ваше приложение генерирует очень небольшую нагрузку SQL, поэтому SQL не обязательно должен быть в отдельном окне. Это не всегда так, но это не жесткое правило, согласно которому SQL должен находиться на собственном сервере. Это определенно лучшая практика, особенно если вы хотите масштабировать - я просто использую это в качестве примера.