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