Выравнивание нагрузки IIS. Обслуживание изображений и HTML с одного сервера и страниц asp.net от другого

  1. tar-xzvf package.tar.gz
  2. пакет CD /
  3. меньше УСТАНОВКИ
  4. ./настраивать - с опциями
  5. сделать
  6. осуществите проверку
  7. sudo делают установку
  8. сделайте чистыми

Эти шаги принимают компиляции пакета правильно, все зависимости встречены и "проверяют", что цель существует и передает.

1
задан 5 August 2009 в 18:10
6 ответов

Hmnn, сколько запросов в секунду (разделенный на статическом и динамическом) мы говорим о, и на который аппаратные средства? Ваше сообщение не обеспечивает специфические особенности, но звучит немного странным, что IIS должен быть разбит и все еще только использовать 40% ЦП.

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

Пойдите роют в файлы журнала, и изучают метрики Монитора производительности для ЦП, сети I/O, диск ввод-вывод и Использование оперативной памяти, и видят, указывает ли это на Вас в каком-либо определенном направлении.

Есть ли какие-либо устройства перед IIS, который мог быть перегружен? Дешевые брандмауэры SOHO, какие-либо Прокси HTTP, какие-либо "брандмауэры" контроля содержания или системы IDS?

Код aspx, который Вы выполняете, Вы посмотрели на него? Это имеет какие-либо глупые проектные решения, которые могли приостановить весь компьютер, такой как выполнение крупного диска перегружающиеся или исчерпывающие пулы потоков?

Если сервер действительно в его пределах, и нет никакой быстрой победы, то следующее можно было рассмотреть:

Дешевое решение могло состоять в том, чтобы настроить 2 имен хостов DNS, т.е. www.companyname.com и static.companyname.com и затем создать 2 сайта в IIS, один оптимизированный для статического обслуживания файлов, один для динамического контента (aspx). Для статических файлов я обычно включал бы персистентные HTTP-соединения для динамического контента, я отключу его. Оптимизация могла бы заставить Вас некоторая комната дышать мудрый производительностью, но она может или не может быть достаточно. AFAIK там не является никаким способом гарантировать определенное распределение ресурсов между сайтами в IIS 6.

Оптимальный способ пойти относительно разделения статического содержания состоит в том, чтобы переместить все статическое обслуживание файлов полностью от сервера, или путем выделения нового сервера задаче, или еще лучше при помощи CDN.

Оценка для низкопроизводительного CDNs снизилась существенно, с Amazon S3 + Cloudfront, CacheFly и другие, имеющие низкую цену записи. Конечно, добавление CDN означает добавлять другую единую точку отказа к Вашей полной архитектуре, но CDNs главным образом хороши в хранении высокого времени работы, из-за их распределенного характера. Добавление CDN потенциально заставит Ваш сайт чувствовать себя быстрее для зарубежных пользователей.

2
ответ дан 3 December 2019 в 22:51

Вы уверены, что проблемой является сервер и не Ваша пропускная способность или возможно количество соединений, которые открыты (возможно, на брандмауэре)?

Попытайтесь получить некоторые данные, собранные с помощью Монитора производительности Windows. Вы могли также попытаться изолировать сети, поместив их в различные пулы приложений перед установкой виртуального сервера.

0
ответ дан 3 December 2019 в 22:51

В каком смысле "не способный обработать"? IIS бросает ошибку? Что-нибудь в access_log или журнале HTTPERR?

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

Если память выглядит хорошей, проверьте активность диска так или иначе: они являются слишком медленными для суммы входящих запросов?

С точки зрения маршрутизации единственная вещь Вы могли обойтись без перезаписи страниц, должен иметь прокси-сервер перед серверами, который направляет запросы на основе URL. Это могло быть полем UNIX/Linux со Сквидом или Apache или Windows с некоторой формой прокси-сервера, или возможно даже выделило аппаратные средства подсистемы балансировки нагрузки.

0
ответ дан 3 December 2019 в 22:51

Вы на самом деле могли бы хотеть попробовать этот ответ от Переполнения стека для открытия стека TCP/IP.

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnablePMTUDiscovery"=dword:00000001
"MaxUserPort"=dword:0000fffe
"TCPTimedWaitDelay"=dword:0000003c
"TCPMaxSendFree"=dword:0000ffff
"SynAttackProtect"=dword:00000001 
0
ответ дан 3 December 2019 в 22:51

Возможно, Вы могли обновить до Windows Server 2008 и IIS7 и использовать Маршрутизацию Запроса приложения.

0
ответ дан 3 December 2019 в 22:51

У Вас есть разрешимая проблема на Ваших руках. При попытке к лейкопластырю его с VM Вы просто собираетесь превратить свою разрешимую проблему в 3 проблемы, 2 из которых не будут разрешимы.

PerfMon, вероятно, скажет Вам, что у Вас есть продолжительный ASP, или ASP.NET запрашивает то, чтобы заставлять Ваши Асинхронные Потоки перегрузиться. Если это корректно, можно действительно, только решить эту проблему путем ускорения обработки запросов.

Самый легкий путь вперед состоит в том, чтобы, вероятно, включить усовершенствованное свойство входа, "Потраченное Время", и требует Вашего разработчика (самостоятельно?), что каждый процесс страницы меньше чем в X миллисекундах. Возможно обработать длительные запросы через несколько, быстрые асинхронные запросы, не берите не для ответа.

Проблемой загрузки образа, которую Вы имеете, является признак и благословение. Это говорит Вам, что существует работа, которую можно делать.

0
ответ дан 3 December 2019 в 22:51

Теги

Похожие вопросы