У меня есть веб-сайт, который несколько клиентов используют для размещения своих сайтов. У каждого из них есть собственное доменное имя, но они используют одну и ту же размещенную службу. Лучше ли запускать их с одного и того же веб-сайта IIS со всеми заголовками хоста на этом сайте, или я должен создать другой веб-сайт и пул приложений для каждого домена, который указывает на один и тот же физический каталог на сервере?
Нет причин использовать несколько пулов приложений, если у вас нет явной причины для их разделения. В противном случае это просто пустая трата памяти.
Не должно возникнуть проблем с запуском нескольких веб-сайтов из одного каталога. Если в какой-то момент клиенту понадобится другая версия, вы можете перенести их в другой каталог со специальной базой кода / config / и т. Д. Если это сценарий, который может возникать чаще, вы можете рассмотреть возможность разделения их на разные веб-сайты фронт.
Нет проблем с запуском нескольких сайтов из одной папки, я делал это много раз. Преимущество, которое вы получаете от запуска отдельных сайтов в отдельных пулах приложений, заключается в устойчивости к сбоям: если ошибка вызвана на одном сайте, вероятность того, что она повлияет на другие, меньше. Это также означает, что если один сайт более популярен, чем другие, вы можете изменить настройки пула, чтобы сделать его более эффективным при повторном использовании потоков, если это необходимо.
В некоторых случаях это может быть опасно. Есть вероятность возникновения тупиков на ресурсах файловой системы. В моем случае это был индекс lucene и два пула приложений, которые обращались к одной и той же папке. Оба запустили обновление индекса одновременно, поэтому половина файлов была заблокирована одним приложением, а другая половина - вторым, что привело к зависанию обоих веб-сайтов. Чрезвычайно сложно отлаживать.