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

Почему я вижу различное поведение TCP между приложениями IIS и FTP-сервера в Windows 2003?

Я сравниваю следы Wireshark для файла загрузки размером 10 МБ с:

  1. в FTP-сервер FileZilla и
  2. IIS (с использованием HTTP) на том же сервере Windows 2003.

Загрузка по FTP выполняется быстрее, и трассировка показывает, что сервер ведет себя, как ожидалось, отправляя больше данных клиенту с каждым полученным ACK:

Ссылка на полноразмерное изображение

Трассировка HTTP-сервера показывает более резкую картину. Время отправки пакетов иногда не связано с какими-либо ACK, полученными от клиента (обведены красным):

Ссылка на полноразмерное изображение

У кого-нибудь есть предложение относительно того, почему трафик IIS такой?

Обновление: мы попытались изменить Параметры реестра http.sys (установка MaxBytesPerSend на 256 КБ и MaxBufferedSendBytes на 64 КБ, как рекомендуется). Изменение MaxBytesPerSend, похоже, улучшает производительность за счет увеличения объема данных в полете, но мы по-прежнему видим тот же импульсный паттерн.

Я подозреваю, что это может быть связано с внутренним контролем допуска QoS, который происходит в Windows. IIS может соблюдать QoS, FileZilla может напрямую обращаться к сети.

Может быть мешок. Если я правильно понимаю, HTTP выбрасывает дерьмо из FTP с точки зрения скорости передачи.

Клиентские ACK тоже не выглядят хорошо разнесенными. Что за клиент?