Непонятная проблема при отдаче статического контента…

Posted by Olegas on Ноябрь 19, 2011
Без рубрики

Необычную проблемы обнаружили на работе…

Есть сайт – статика + ISAPI-расширение. Статика на 90% состоит из XML и JS. Ее много.

Вот диаграмма загрузки кучи статики в Firefox. Как видно – все в порядке.
Диаграмма загрузки Firefox

А теперь то же самое в IE8.

Диаграмма загрузки IE

На обоих изображених подчеркнуты запросы с одинаковым размером (чтобы было проще ориентироваться). Порядок разный потому что вызывают их различне асинхронные процессы и это (порядок) для работы приложения не важен.

Видно 3 проблемных места. В точке 1 запросы начали подтормаживать (темно зеленый – время отдачи контента, по размеру видно что отдавать там нечего). Следующая пачка параллельных запросов (точка 2) зависает еще сильнее (до 5 сек.), и снова по размеру понятно что не на чем там столько сидеть. Следующая проблемная точка (3) висит уже не на отдаче, а на приеме сервером (?, в легенде это называется «send first to last») пакета данных (POST) и снова по размеру понятно что отправлять там целых 1.5 сек. совершенно нечего…

На сервере IIS 7.5, замеры проводились на одной и той же клиентской машине в одно и то же время. Проблема не зависит от клиентской машины и проявляется на других маинах в сети аналогичным образом. В Event log’е винды пусто.

Комментарии (4) to Непонятная проблема при отдаче статического контента…

force
20.11.2011

Если честно, то по таким графикам ничего не понятно. 50 запросов к сайту или это упорно F5 давили? Сжатие, кеширование есть? Отдаёт статику IIS или isapi расширение? Каких-нить проксей, специфичных настроек с keep-alive нету? Сколько у IIS’а коннекций в данное время?

admin
20.11.2011

Это одна сессия загрузки в которой запрашивается много ресурсов. F5 не давили. Сжатия нет, мертвого кэша нет, есть max-age=0, must-revalidate но на клиенте отключен кэш (все ответы 200).

Статику отдает IIS, про специфичные настройки keep-alive не знаю (где посмотреть?). Возможно есть фронт в виде ngnix.

Сервер не продакшен так что большого кол-ва коннекций так ожидать не стоит. В любом случае почему FF всегда ОК грузит?

force
20.11.2011

FF может грузить потому-что реюзает коннекшены, или просто закрывает их удачнее. Статистика снималась через какой-нибудь прокси? Тогда у IE галочки нужно искать, связанные с проксированием.
Разница скорее всего именно в количестве коннекшенов, что приводит у IE к очереди, но может и какой-нить конкретный глюк кода и его работы с IE.

ЗЫ: Сессия одна, у FF всё быстро на за 20 коннекшенов куда-то 4 секунды утекли, а у IE — нет. Что тоже весьма радует в плане анализа проблем :)

admin
21.11.2011

Статистика снималась через HTTP-анализатор но без него проблема также видна (как же ее заметили тогда?). Данные идут напрямую с IIS, промежуточных proxy нет.

Оставить комментарий

WP_Big_City