Назад | Перейти на главную страницу

Медленная загрузка файла HTTPS в Internet Explorer

Мы получаем медленную загрузку файлов с использованием HTTPS в Internet Explorer.

У нас есть несколько сотен компьютеров, и в настоящее время мы находимся в ротации аренды (новые машины заменяют машины, бывшие в аренде).

На некоторых машинах мы замечаем, что обычно 30-секундная загрузка файла на внешний веб-сайт с использованием https занимает более 90 секунд (на самом деле эксперименты показали, что это больше похоже на 110-130 секунд).

Обычно машина работает нормально, а затем начинает работать медленно. Новые машины почти всегда имеют эту проблему (я получаю некоторую информацию из вторых рук, поэтому я не уверен, все ли новые машины имеют эту проблему). Все пользователи на машине, когда она начинает работать медленно, сталкиваются с проблемой медлительности. Как правило, на старых машинах проблем нет.

Для компьютеров, у которых возникла проблема, глядя на сетевой трафик, похоже, что файл загружается блоками по 16 Кбайт (11 TCP-сообщений), за которыми следует 3/10 секундная задержка перед отправкой следующего набора сообщений. О, да, вам следует знать кое-что: мы находимся в Австралии, но весь наш веб-трафик проходит через Канаду, а целевой сайт находится в США (я думаю). Я пытаюсь настроить тест на незатронутом компьютере с WireShark.

Мы внедрили исправление BreakingBufferSize в реестр для LocalMachine /.../ IE / Main / ... и CurrentUser /.../ IE / Main / ... (а также в политиках LocalMachine /.../ / ... (хотя это сделал кто-то другой)). Но безрезультатно.

Мы работаем под Windows XP SP2. Проблема возникает как в IE 6, так и в IE 7. Из-за того, что мы находимся под корпоративным зонтом (отсюда и связь с Канадой), наши системы, вероятно, не особенно актуальны для исправлений XP.

Есть идеи относительно того, что вызывает эту досадную проблему?

Решение оказалось следующим: операция загрузки файла HTTP требует много времени для завершения.

http://support.microsoft.com/kb/329781/

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

Эта проблема возникает из-за того, что буфер отправки Winsock по умолчанию составляет 8 килобайт (КБ), и поэтому Internet Explorer предоставляет данные блоками по 8 КБ. В средней сети это составляет примерно 80 КБ в секунду (КБ / с), независимо от пропускной способности сети.

Чтобы решить эту проблему, настройте Internet Explorer на увеличение буфера отправки при взаимодействии с Winsock. Это увеличивает производительность сети при использовании метода загрузки файлов HTTP. Для этого выполните следующие действия.

Сравните трассировку хороших и плохих хостов с помощью wirehark. В вашей сети задержка является ключевой проблемой. Если подтверждений будет слишком много, снизится скорость передачи. Чтобы ограничить их количество, нужно увеличить размер окон TCP. Но это сложно из-за зависимости разных загадочных параметров.

Сравните ключ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters на новых и старых хостах. может старые хозяева тикнули.

Это происходит только на https-соединениях? пробовали ли вы другие виды загрузок?

выполните поиск в Google по запросу "размер окна tcp xp"