ОБНОВЛЕНИЕ 2009-05-21
Я тестировал метод №2 по использованию одного сетевого ресурса. Это приводит к некоторым проблемам с Windows Server 2003 под нагрузкой:
http://support.microsoft.com/kb/810886
конец обновления
Я получил предложение для веб-сайта ASP.NET, которое работает следующим образом:
Аппаратный балансировщик нагрузки -> 4 веб-сервера IIS6 -> БД SQL Server с отказоустойчивым кластером
Вот в чем проблема ...
Мы выбираем, где хранить веб-файлы (aspx, html, css, изображения). Было предложено два варианта:
1) Создайте идентичные копии веб-файлов на каждом из 4 серверов IIS.
2) Поместите одну копию веб-файлов в общую сетевую папку, доступную для 4 веб-серверов. Корневые узлы на 4 серверах IIS будут сопоставлены с одним общим сетевым ресурсом.
Какое решение лучше?
Вариант 2, очевидно, проще для развертываний, поскольку он требует копирования файлов только в одно место. Однако мне интересно, возникнут ли проблемы с масштабируемостью, поскольку все четыре веб-сервера имеют доступ к одному набору файлов. Будет ли IIS кэшировать эти файлы локально? Будет ли это попадать в сетевую папку при каждом запросе клиента?
Кроме того, доступ к общему сетевому ресурсу всегда будет медленнее, чем получение файла на локальном жестком диске?
Увеличивается ли нагрузка на сетевой ресурс при добавлении большего количества серверов IIS?
Чтобы дать перспективу, это для веб-сайта, который в настоящее время получает ~ 20 миллионов посещений в месяц. На недавнем пике он получал около 200 обращений в секунду.
Пожалуйста, дайте мне знать, если у вас есть определенный опыт с такой установкой. Спасибо за ввод.
ОБНОВЛЕНИЕ 2009-03-05
Чтобы прояснить мою ситуацию - «развертывания» в этой системе происходят гораздо чаще, чем обычное веб-приложение. Веб-сайт является интерфейсом для CMS бэк-офиса. Каждый раз, когда контент публикуется в CMS, новые страницы (aspx, html и т. Д.) Автоматически помещаются на действующий сайт. Развертывания в основном "по требованию". Теоретически этот толчок может произойти несколько раз в течение минуты или более. Поэтому я не уверен, что было бы целесообразно развертывать один веб-сервер одновременно. Мысли?