Этот конкретный веб-сайт (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. Отключение их устраняет проблему.
У меня нет ответа, почему вы теряете пакеты из-за того, что эта опция включена.