Крупные магазины, вероятно, не сочтут это лучшей практикой ... Однако, если вы не имеете дело с сотнями запросов в секунду, вы можете поместить их в одну коробку.
Фактически, для небольших приложений вы увидите лучшую производительность на бэкэнде, потому что данные не должны передаваться по проводам. Все дело в масштабе.
Имейте в виду, что серверы баз данных потребляют память. Вот один важный урок из школы жестких ударов: если вы решили запустить SQL Server 2005 на той же машине, что и ваш веб-сервер (и это настройка, о которой вы упоминали в своем вопросе), убедитесь, что вы заходите на Sql Server Management Studio и сделать это :
- Щелкните правой кнопкой мыши на экземпляре сервера и выберите Свойства
- Выберите «память» из списка слева
- Измените 'max server memory' на то, что может выдержать ваш сервер.
Если вы этого не сделаете, SQL Server в конечном итоге займет всю оперативную память вашего сервера и зависнет на нее на неопределенный срок. Это приведет к тому, что ваш сервер более или менее испортится и умрет. Если вы не знаете об этом, это может быть очень разочаровывающим для устранения неполадок.
Я делал это довольно много раз. Это не то, что вы бы сделали, если бы у вас была инфраструктура крупной корпорации, и она не масштабировалась, но это хорошо для многих вещей.