Одно и то же приложение ASP.Net - несколько сайтов IIS

Быстрый вопрос производительности ASP.Net...

У меня есть приложение ASP.Net 3.5 с пакетом обновления 1 (SP1), которое я хочу запустить на IIS 6. По причинам, связанным с сертификатом SSL, мне нужно запустить его на отдельных сайтах в IIS. Это CMS, и некоторым клиентам потребуется добавить свои собственные сертификаты SSL.

1) Могу ли я запускать один и тот же набор файлов ASP.Net на диске на нескольких сайтах в IIS или мне нужно их зеркалировать?

2) Какие соображения мне нужно сделать с точки зрения производительности, например, наличие нескольких подключений к базе данных с каждого сайта? Или они будут "объединены"?! Кроме того, я использую Linq to SQL и кеширую результаты, используя кеш ASP.Net. Будет ли непросто иметь отдельные кэши для каждого сайта IIS по существу одних и тех же данных? Существуют ли другие соображения относительно производительности или дизайна приложения для этого сценария?

3) Имеет ли значение работа сайтов IIS под одним и тем же пулом приложений?

Или у кого-то есть совершенно разные рекомендации?

Любое руководство, которое вы можете дать, будет высоко ценится. Я ищу как можно больше разных мнений и опыта здесь, поэтому, пожалуйста, добавьте ответ, если вы можете помочь.

Ура, Тим

2 ответа

Решение

Техническое обслуживание будет намного проще, если у вас есть только один сайт IIS для управления. Более эффективным способом было бы решить проблему SSL где-то еще (например, аппаратный балансировщик нагрузки, переключение содержимого, окно Apache и т. Д.) И обратный прокси-сервер для одного экземпляра IIS с запущенной единственной версией приложения. Совместное использование пулов приложений не поможет (при условии, что вы все равно используете SQL Server с управляемым клиентом), поскольку каждое веб-приложение получает свой собственный домен приложений и, следовательно, собственный пул соединений. Совместное использование пулов приложений приводит к тому, что они совместно используют процесс, но не домен приложения.

До этого я делал это по дешевке, установив Apache на той же машине, что и IIS, прослушивая только через порт 443 (сколько бы ни понадобилось много комбинаций IP/cert), а затем настроив Apache в качестве обратного прокси-сервера IIS на та же машина прослушивает только порт 80 (но для любого заголовка хоста).

Я согласен, что не имеет смысла запускать разные веб-сайты для одного приложения.

Вы можете установить порт SSL на веб-сайте с помощью диспетчера IIS. Если в IIS не установлены сертификаты, некоторые пользователи могут использовать версию HTTP без ошибки сертификата, а другие могут использовать SSL.

Другие вопросы по тегам