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

Недружественный Linux IIS / ASP.NET :-): Быстрая загрузка в Windows, но медленная в Linux

Этот конкретный веб-сайт (gops.tay.be) обслуживает объекты быстро, если я пытаюсь запросить страницу с помощью окон, но я получаю их очень медленно, если пытаюсь использовать Linux. Нет никакой разницы, использую ли я браузер или curl:

Windows:

C:\curl>curl http://gops.tay.be/RadControls/Upload/Skins/Office2007/RadUpload.css -w %{time_total} -o 1.txt -s
0,078

Linux:

[root@ ~]# curl http://gops.tay.be/RadControls/Upload/Skins/Office2007/RadUpload.css -w   %{time_total} -o 1.txt -s
5.551

[root@ ~]# host gops.tay.be
gops.tay.be has address 194.7.31.58

[root@ ~]# ip -s -o r s c |grep 194.7.31.58
194.7.31.58 from 192.168.252.176 via 192.168.252.254 dev eth0 \    cache  used 2 age   2sec ipid 0x26de rtt 98ms rttvar 110ms cwnd 10
194.7.31.58 via 192.168.252.254 dev eth0  src 192.168.252.176 \    cache  age 8sec ipid 0x26de rtt 98ms rttvar 110ms cwnd 10
local 192.168.252.176 from 194.7.31.58 dev lo  src 192.168.252.176 \    cache <local>  used 6 age 2sec iif eth0

В wirehark обе загрузки (инициализация сеансов и т. Д.) Кажутся идентичными, за исключением того, что в Linux есть tcp.options.wscale.multiplier = 4 и окна есть 256. В gops.tay.be сервер всегда tcp.options.wscale.multiplier = 1.

Любые другие загрузки из окна Linux работают нормально. Например для http://cdn.sstatic.net/serverfault/all.css?v=b1f1055f1c12 Linux начинается с tcp.options.wscale.multiplier = 4 и cdn.sstatic.net имеет ценность 1024.

Что могло вызвать такое дросселирование? И почему по сравнению с этим загрузка из Windows происходит так быстро?

Разница связана с тем, что временные метки tcp используются в Linux, но не в Windows. Отключение их устраняет проблему.

У меня нет ответа, почему вы теряете пакеты из-за того, что эта опция включена.