Одно и то же приложение ASP.Net - несколько сайтов IIS - PullRequest
1 голос
/ 22 декабря 2009

Быстрый вопрос производительности 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 ]

1 голос
/ 22 декабря 2009

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

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

0 голосов
/ 22 декабря 2009

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

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

...