Мы готовимся переключить наше приложение ASP.Net на новую среду веб-фермы. Однако наше тестирование выявило периодически возникающую проблему, из-за которой страница занимает до 2 минут, чтобы завершить загрузку, где обычно это занимает менее 2 секунд. Инструменты диагностики браузера (такие как Firebug) показывают, что задержка происходит, когда страница загружает библиотеку jQuery и нашу таблицу стилей. Я не думаю, что есть проблема с этими файлами, но я действительно не знаю, в чем проблема, поэтому я не могу быть уверен.
Вот еще немного информации о нашей среде. Наши веб-серверы работают под управлением Windows Server 2008 (64-разрядная версия), IIS 7, .Net 3.5. Мы используем балансировщик нагрузки Cisco CSS, настроенный для отправки трафика на тот сервер, который в данный момент имеет наименьшую нагрузку (т.е. балансировщик нагрузки не использует липкие сеансы). Веб-серверы настроены на использование третьего сервера в качестве хранилища сеансов (на третьем сервере запущена служба состояний сеансов ASP.Net).
Есть идеи о том, что может быть причиной задержки?
ОБНОВЛЕНИЕ :
Спасибо за ответы на данный момент. Отвечая на несколько приведенных предложений, я могу с уверенностью сказать, что проблема не в начальной загрузке страницы или каких-либо тяжелых сторонних элементах управления. Мы можем пролистать страницу до 100 раз подряд без задержки, и тогда внезапная задержка происходит в 101-й раз, когда мы ее нажимаем. Кроме того, это может быть важной подсказкой ... когда происходит задержка, я могу сразу же нажать перезагрузить мой браузер, и страница вернется к быстрому времени загрузки ... будет ли это больше указывать на проблему сети / DNS?
ОБНОВЛЕНИЕ 2 :
Кажется, что ошибка возникает только при загрузке библиотеки jQuery. Я уверен, что большую часть времени он забирает его из локального кэша, но даже если срок действия локальной копии истек и она загружает новую копию, загрузка минифицированной библиотеки jQuery, занимающей всего ~ 56 КБ, не займет 2 минуты. в размере.
ОБНОВЛЕНИЕ 3 :
Попробовав Fiddler (впервые), я смог воспроизвести проблему. На этот раз произошла задержка при загрузке файла изображения с сервера. И это произошло во время работы нашего старого сервера, а не веб-фермы! Вот что скрипач сказал об этом файле. Любые идеи о том, какие выводы можно сделать из этого?
Request Count: 1
Bytes Sent: 753
Bytes Received: 242
ACTUAL PERFORMANCE
ClientConnected: 19:53:15:5921
ClientDoneRequest: 19:53:15:8421
Gateway Determination: 0ms
DNS Lookup: 0ms
TCP/IP Connect: 31ms
ServerGotRequest: 19:55:25:7640
ServerBeginResponse: 19:55:25:7952
ServerDoneResponse: 19:55:25:7952
ClientBeginResponse: 19:55:25:7952
ClientDoneResponse: 19:55:25:8108
Overall Elapsed: 00:02:10.2187500
RESPONSE CODES
HTTP/304: 1
RESPONSE BYTES (by Content-Type)
~headers: 242
И заголовки ответа:
HTTP/1.1 304 Not Modified
Cache-Control: max-age=2592000
Last-Modified: Tue, 04 Aug 2009 05:11:20 GMT
Accept-Ranges: bytes
ETag: "ed5bca0c214ca1:f3a"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Tue, 08 Dec 2009 02:55:37 GMT