Немного новичок в расширенных конфигурациях серверов и попытка выяснить, как решить, следует ли мне разделить мой маленький экземпляр на две отдельные маленькие машины (одна база данных и один сервер приложений) или одну большую машину. В основном я не знаю, на какие показатели мне следует ориентироваться, чтобы принять решение.
Я стараюсь быть как можно более конкретным, извините, если questipn кажется слишком широким.
EDIT: подробности о приложениях
У меня есть 4 приложения django, работающих на небольшом экземпляре. Одно из них извлекает большое количество записей из базы данных на основе пользовательского ввода (максимум до 60 000)
Это приложение имеет тенденцию поглощать много памяти и запускает подкачку машины, когда оно обрабатывает все данные для вернуться в представление.
Я бы сначала посмотрел на верхнюю часть. Ваше приложение тратит больше времени на ожидание ввода-вывода или ограничено ЦП / ОЗУ?
Масштабирование по сравнению с увеличением - сложный вопрос и очень зависит от приложения, но в целом один блок с 2-кратным объемом ресурсов более эффективен, чем 2 устройства с 1/2 меньшей мощности, потому что во втором случае вы оплачиваете накладные расходы ОС. дважды и не должен иметь дело с ACID (если вы не можете справиться с конечной согласованностью, но все же есть накладные расходы на то, что синхронизирует ваши данные).
Но это зависит от того, более подробная информация о приложении и ожидаемых узких местах это поможет.