Проблемы со скоростью IIS5, 6 и 7 после обновления

Я заранее извиняюсь, так как этот пост родился из серьезного разочарования.

У меня есть классический веб-сайт asp, который работает в Windows 2000 / IIS5 в течение многих лет, и еще один сайт ASP.NET 2.0, который мы недавно начали запускать на тех же серверах. Пока все работает хорошо.

В прошлом году я пробовал обновиться (свежая установка) до Windows 2003 / IIS6. Классический сайт ASP был намного медленнее, примерно на 50% медленнее, если судить по журналам / статистике, усредненной за несколько недель использования. Я перепробовал все, чтобы узнать, что идет медленно. Сетевые настройки. Интегрированный. Классический режим iis5. В процессе. Вне процесса. Ничего не изменилось, и вскоре я вернулся к IIS5 / 2000. В тот же день откатился назад, производительность вернулась на прежнее место. Это произошло более чем на одном сервере. В конце концов, я сдался и списал это на какие-то проблемы с TCP 2003 года.

Недавно я установил сервер Windows 2008 / IIS на аналогичную, но более мощную машину в надежде, что все будет лучше. К моему большому счастью, мое классическое приложение ASP работает быстрее под Windows 2008. К сожалению, мое приложение ASP.NET на 50-75% медленнее по теперь очевидной причине. Все это содержимое загружается. Он находится в той же сети, что и машина 2000 года. Сайт был скопирован непосредственно с другой машины, и это предварительно скомпилированное веб-приложение из Studio 2005.

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

Я пробовал пул приложений по умолчанию и классический пул .NET. Никакой разницы. Увеличено / проверьте максимальное количество потоков, максимальное количество на процессор во всех обычных местах, веб-сайт или ничего, кажется, не имеет значения. Я дважды проверил, что debug = false компиляции по-прежнему установлен в web.config.

Для быстрой проверки я использовал ab.exe (Apache Bench) для отправки 10 запросов, по 1 за раз. Даже если я использую IE или Firefox для посещения сайта, он явно медленнее, чем до 2000, даже согласно firebug.

На данный момент я разочарован и не знаю, с чего начать. Кто-нибудь раньше сталкивался с подобным беспорядком?


person claco    schedule 23.04.2009    source источник
comment
Брандмауэр Windows также отключен, и я попытался отключить разгрузку TX / TR на сетевой карте (BroadCom Xtreme 1 ГБ)   -  person claco    schedule 24.04.2009
comment
Не могу сказать, что прошел через это, но вам мои полные соболезнования ... :-)   -  person Paul Sonier    schedule 24.04.2009
comment
Вот почему я ненавижу компьютеры. Вчерашний день. медленный. Скопируйте сайт заново. Кричать сегодня быстро. Словно 2000 уносит из воды быстро. Единственное, что я могу понять, это то, что это была некоторая проблема с запуском копии, которую запускал другой сервер (предварительно скомпилированной), по сравнению с новой копией.   -  person claco    schedule 24.04.2009
comment
И вот он .. понедельник. В машине ничего не изменилось, но теперь, когда она вышла из строя, она снова замедлилась. Повторно разверните код. Потом снова быстро. WTH.   -  person claco    schedule 27.04.2009


Ответы (2)


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

person Tomas Kirda    schedule 25.04.2009

В моем случае ответ оказался простым: я запустил WireShark. Был 1 запрос внешнего ресурса, который не мог быть разрешен, поскольку у тестовой машины не было прямого доступа к Интернету, как у живой машины.

Это всегда мелочи.

person claco    schedule 08.05.2009
comment
это всегда пощечина себе в момент, не так ли! - person Spence; 08.05.2009
comment
Практически всегда это удача по лбу, прозрение в 3 часа ночи или в ванной. :-) - person claco; 08.05.2009