LINUX.ORG.RU

Как увеличить tcp window?

 ,


0

2

ядро 3.16. Debian 8. iperf3 между win8.1 и debian 8. wireshark на win. При трафике от debian к win размер окна 28кбайт и никак не получается сделать его больше. Скорость из-за этого 540мбита. В обратном направлении окно 64кбайта скорость 930мбит. Что делал:

net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 8192 65536 16777216
net.ipv4.tcp_wmem = 8192 65536 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.ipv4.tcp_rfc1337 = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
это увеличило размер окна до 29кбайт и скорость немного подросла стало 562мбит. По udp все еще хуже скорость всего 406мбит. Куда копать? Во время тестов нагрузка cpu не превышает 10%. Помогите разобраться как увеличить это tcp window?



Последнее исправление: antech (всего исправлений: 1)

Ответ на: комментарий от alexnorton
filename:       /lib/modules/3.16.0-4-amd64/kernel/drivers/net/ethernet/broadcom/tg3.ko
firmware:       tigon/tg3_tso5.bin
firmware:       tigon/tg3_tso.bin
firmware:       tigon/tg3.bin
version:        3.137
license:        GPL
description:    Broadcom Tigon3 ethernet driver
parm:           tg3_debug:Tigon3 bitmapped debugging message enable value (int)

где? какой параметр?

antech
() автор топика
Ответ на: комментарий от alexnorton

offload тоже пробовал отключать от этого производительность только еще сильнее деградирует.

antech
() автор топика
Ответ на: комментарий от alexnorton

Вот это вот. У меня на интеле стояло для входящего 512 буферов, для исходящего 256. Но нужен драйвер с сайта, а не из поставки винды, чтобы эти крутилки появились.

Radjah ★★★★★
()
Ответ на: комментарий от Radjah

На винде стоит драйвер от реалтека с сайта с whql. Буферы приема передачи там есть выставлено на максимум 512 на прием и 128 на отправку. Но с винды то поток нормально уходит с нормальным окном и скоростью. А вот с линуксовой машины скорость уполовинена и размер окна уполовинен. Более того я вот смотрю wireshark и чето тут не то linux почему то шлет ack на каждый tcp сегмент хотя должен же вроде один ack на все окно.

antech
() автор топика
Ответ на: комментарий от Radjah
ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:             511
RX Mini:        0
RX Jumbo:       0
TX:             511
Current hardware settings:
RX:             200
RX Mini:        0
RX Jumbo:       0
TX:             511

пробовал на RX ставить 511 но толку нет. Да и с RX все впорядке.

antech
() автор топика
Ответ на: комментарий от Elyas

на -w 65536 -l 1M не реагирует ни как. Ничего не меняется

antech
() автор топика

Вы на scale умножать не забываете, а то 28-64 кбайт это как-то совсем мало.

Более того я вот смотрю wireshark и чето тут не то linux почему то шлет ack

linux шлёт ack при передаче с linux на win?

Вы потери смотрели? если по счётчику байт/пакетов, то линукс действительно отправляет 562 Мбит? Может у вас винда теряет при приёме и идут повторные передачи.

mky ★★★★★
()
Ответ на: комментарий от mky

Потерь пакетов нет ни на win машине ни на debian ни на обоих портах свитча. Скорость смотрел в iperf и на портах. Тут действительно 562 уходит проходит транзитом и приходит. Ретрансмитов нет, есть только tcp window full, window zero size. Но их немного. scale не scale а len пакета 1440, в то время как с win len 53к. C udp пакетами та же история в прямом направлении 800мбит в обратном 400.

antech
() автор топика

SO_SNDBUF/SO_RCVBUF. Но не больше sysctl_wmem_max.

Привилегированный процесс может использовать
SO_SNDBUFFORCE/SO_RCVBUFFORCE, это без ограничений.

Deathstalker ★★★★★
()
Ответ на: комментарий от Deathstalker

SO_SNDBUF/SO_RCVBUF и как мне этим управлять?

antech
() автор топика
get_parameters:
{
        "udp":  true,
        "omit": 0,
        "time": 10,
        "parallel":     1,
        "reverse":      true,
        "len":  64512,
        "bandwidth":    700000000,
        "client_version":       "3.1.2"
}
get_results
{
        "cpu_util_total":       3.54795,
        "cpu_util_user":        2.16048,
        "cpu_util_system":      1.38747,
        "sender_has_retransmits":       -1,
        "streams":      [{
                        "id":   1,
                        "bytes":        517902336,
                        "retransmits":  -1,
                        "jitter":       0.000153074,
                        "errors":       0,
                        "packets":      8028
                }]
}
send_results
{
        "cpu_util_total":       1.56346,
        "cpu_util_user":        0.0376714,
        "cpu_util_system":      1.5274,
        "sender_has_retransmits":       0,
        "streams":      [{
                        "id":   1,
                        "bytes":        517902336,
                        "retransmits":  -1,
                        "jitter":       0.000153074,
                        "errors":       0,
                        "packets":      8028
                }]
}
[  5]  10.00-10.05  sec  2.40 MBytes   416 Mbits/sec  39

antech
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.