Перейти к содержимому
Калькуляторы

Производительный веб-сервер под статику

Есть у меня большое файлохранилище под Debian Linux. С этого хранилища я периодически забираю разные файлы и ничего лучше http не нашел - максимально универсально.

Качаю многопоточным download-менеджером, в 10-15 потоков. Скорость загрузки обычно ограничена в 5-6 Мбит/с, хотя если загрузки остановить, а затем стартануть, она иногда доходит до 70 Мбит/с.

На сервере стоит апач (модель prefork) и его наверняка можно подкрутить до нормальной работы, но я думаю для раздачи использовать nginx.

Есть ли рекомендации, что подкрутить в настройках для быстрой раздачи статики? Или можно с дефолтными параметрами запускать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это шютка такая, да? 70 мегабит на статике...

 

У нас в серверной пень3 750 таскается. Он без тюнинга (кроме буферов и сомакс ядру) свою сотню в индейце даёт...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

70 Мбит/с это со стороны клиента ограничение. Так то сервер и больше может отдавать.

При загрузке торрентов я 700 Мбит/с видел, больше не успел (торрент скачался).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

25 минут назад, alibek сказал:

что подкрутить в настройках для быстрой раздачи статики? Или можно с дефолтными параметрами запускать?

Для целого одного пользователя -- думаю можно. :)

 

25 минут назад, alibek сказал:

Скорость загрузки обычно ограничена в 5-6 Мбит/с, хотя если загрузки остановить, а затем стартануть, она иногда доходит до 70 Мбит/с.

А вот покрутите-ка TCP Congestion Control. В sysctl.conf,

net.ipv4.tcp_congestion_control=illinois

это для начала. Если ядро достаточно свежее, то

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

для применения первой из этих строчек необходима перезагрузка.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос-то тогда в чем? Что лучше для статики - apache или  nginx? Второе. И Сысоева почитать про то, что ему крутить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

16 минут назад, snvoronkov сказал:

Вопрос-то тогда в чем? Что лучше для статики - apache или  nginx?

Скорее — можно использовать nginx «из коробки» или нужно тюнить?

 

17 минут назад, rm_ сказал:

А вот покрутите-ка TCP Congestion Control.

Попробую, спасибо.

Если в download-менеджере качать файлы по одному (даже в 20 потоков), то скорость загрузки ограничена клиентом, примерно 70 Мбит/с.

Если же качать, например, три файла одновременно по 5 потоков в каждом, то скорость загрузки получается маленькая (сотни килобит на каждом файле).

То есть дело не в самом сервере, а в его конфигурации. При этом в конфигурации указано:

<IfModule prefork.c>
    StartServers       8
    MinSpareServers    5
    MaxSpareServers   20
    ServerLimit      256
    MaxClients       256
    MaxRequestsPerChild  4000
</IfModule>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

nginx в дефолтной конфигурации может хорошо отдавать, с апачем в prefork не сравнить.

вообще, это уже больше 10 лет везде пишут :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ИМХО, разницы особой нет, может единицы %%. У меня какой-то атом апачем легко отдаёт гигабит, правда, сетевая интел, хоть и десктопная.

Надо смотреть, где затык у ТС, может в винте, может сетевая...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 часов назад, alibek сказал:

Если же качать, например, три файла одновременно по 5 потоков в каждом, то скорость загрузки получается маленькая (сотни килобит на каждом файле).

То есть дело не в самом сервере, а в его конфигурации.

Неочевидный вывод. Памяти под кэш файлухи точно достаточно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может быть стоит сначала iperf погонять в режиме TCP? Есть мнение, что виноват congestion control на стороне сервера и апач тут не при чем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

13 часов назад, rm_ сказал:

net.ipv4.tcp_congestion_control=illinois

Кусок хрени.

 

13 часов назад, rm_ сказал:

net.ipv4.tcp_congestion_control=bbr

Не пробовал.

htcp, hybla - оба давно есть и весьма годно пашут, при прочих тюнингах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

19 минут назад, Ivan_83 сказал:

Кусок хрени.

Сравнивал их все на живом интернете с пингом до клиента около сотни и занятым ДЦшным аплоадом, иллиноис оказался заметно лучше остальных.

А ббр заметно лучше иллиноиса, главное отличие что фигачить на полный канал начинает почти сразу, а иллиноис запрягает подольше.

Изменено пользователем rm_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Имхо процесс nginx как-то полегче. Но вот в данном случае это может быть и не почувствуется. С другой стороны зачем все же запускать монстра Апача, заточенного на динамические страницы "со свистелками... ", для статики? 

А еще есть легкий и быстрые http сервер kHTTPd - но я его не щупал.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну апач на этом сервере и так есть, не для массовой публики, для внутренних сервисов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, rm_ сказал:

Сравнивал их все на живом интернете с пингом до клиента около сотни и занятым ДЦшным аплоадом, иллиноис оказался заметно лучше остальных.

А я сравнивал тем что находясь в мск смотрел иптв HD.

hybla была единственным кто давал смотреть стабильно.

В локалках htcp лучше, ибо при низком RTT он малость шустрее.

Илиноис и прочее старьё всегда приводило к лагам, вествуд вообще только садистам-мазахистам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Здесь было подробное объяснение сравнительных преимуществ для разных алгоритмов управления TCP congestion и дисциплин управления очередями (qdicsc) на каналах с разной пропускной способностью, но злобные манагеры cdnnow.ru заставили его стереть.

 

Скоро здесь должна появиться ссылка на статью с подробными выводами и методикой расчёта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да не печалься ты.

Один фиг hybla, htcp и bbr  (может быть) остальное нафик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дахоспаде, всё вы со своей хюблой.

 

# sysctl net.ipv4.tcp_congestion_control=hybla
net.ipv4.tcp_congestion_control = hybla

# iperf3 -c XXXX
Connecting to host XXXX, port 5201
[  4] local 2001:41d0:1:8055::1 port 48640 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   835 KBytes  6.84 Mbits/sec    1   79.0 KBytes       
[  4]   1.00-2.00   sec  1.71 MBytes  14.3 Mbits/sec    0    147 KBytes       
[  4]   2.00-3.00   sec  1.28 MBytes  10.7 Mbits/sec    2   90.1 KBytes       
[  4]   3.00-4.00   sec  1.28 MBytes  10.7 Mbits/sec    3   77.7 KBytes       
[  4]   4.00-5.00   sec   936 KBytes  7.67 Mbits/sec    2   26.3 KBytes       
[  4]   5.00-6.00   sec   624 KBytes  5.11 Mbits/sec    1   70.7 KBytes       
[  4]   6.00-7.00   sec   936 KBytes  7.67 Mbits/sec    1   92.9 KBytes       
[  4]   7.00-8.00   sec  1.34 MBytes  11.2 Mbits/sec    1   84.6 KBytes       
[  4]   8.00-9.00   sec   998 KBytes  8.18 Mbits/sec    3   30.5 KBytes       
[  4]   9.00-10.00  sec   312 KBytes  2.55 Mbits/sec    1   67.9 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  10.1 MBytes  8.50 Mbits/sec   15             sender
[  4]   0.00-10.00  sec  9.63 MBytes  8.07 Mbits/sec                  receiver
iperf Done.
# iperf3 -c XXXX
Connecting to host XXXX, port 5201
[  4] local 2001:41d0:1:8055::1 port 48646 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  6.60 MBytes  55.4 Mbits/sec    3    363 KBytes       
[  4]   1.00-2.00   sec  5.00 MBytes  41.9 Mbits/sec    1    331 KBytes       
[  4]   2.00-3.00   sec  1.25 MBytes  10.5 Mbits/sec    3   87.4 KBytes       
[  4]   3.00-4.00   sec  1.25 MBytes  10.5 Mbits/sec    3   43.0 KBytes       
[  4]   4.00-5.00   sec  1.25 MBytes  10.5 Mbits/sec    0    112 KBytes       
[  4]   5.00-6.00   sec  1.25 MBytes  10.5 Mbits/sec    3   45.8 KBytes       
[  4]   6.00-7.00   sec  0.00 Bytes  0.00 bits/sec    1   66.6 KBytes       
[  4]   7.00-8.00   sec  1.25 MBytes  10.5 Mbits/sec    0    133 KBytes       
[  4]   8.00-9.00   sec  2.50 MBytes  21.0 Mbits/sec    1    111 KBytes       
[  4]   9.00-10.00  sec  1.25 MBytes  10.5 Mbits/sec    0    178 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  21.6 MBytes  18.1 Mbits/sec   15             sender
[  4]   0.00-10.00  sec  19.1 MBytes  16.0 Mbits/sec                  receiver

# sysctl net.ipv4.tcp_congestion_control=illinois
net.ipv4.tcp_congestion_control = illinois

# iperf3 -c XXXX
Connecting to host XXXX, port 5201
[  4] local 2001:41d0:1:8055::1 port 48652 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  13.2 MBytes   111 Mbits/sec    2   1.21 MBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec   17   1.09 MBytes       
[  4]   2.00-3.00   sec  10.0 MBytes  83.9 Mbits/sec    4    709 KBytes       
[  4]   3.00-4.00   sec  8.75 MBytes  73.4 Mbits/sec    1    671 KBytes       
[  4]   4.00-5.00   sec  8.75 MBytes  73.4 Mbits/sec    0    728 KBytes       
[  4]   5.00-6.00   sec  10.0 MBytes  83.9 Mbits/sec    1    685 KBytes       
[  4]   6.00-7.00   sec  8.75 MBytes  73.4 Mbits/sec    2    657 KBytes       
[  4]   7.00-8.00   sec  7.50 MBytes  62.9 Mbits/sec    3    560 KBytes       
[  4]   8.00-9.00   sec  6.25 MBytes  52.4 Mbits/sec    5    491 KBytes       
[  4]   9.00-10.00  sec  6.25 MBytes  52.4 Mbits/sec    1    492 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  90.7 MBytes  76.1 Mbits/sec   36             sender
[  4]   0.00-10.00  sec  83.3 MBytes  69.9 Mbits/sec                  receiver
iperf Done.
# iperf3 -c XXXX
Connecting to host XXXX, port 5201
[  4] local 2001:41d0:1:8055::1 port 48656 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  14.4 MBytes   121 Mbits/sec    0   2.22 MBytes       
[  4]   1.00-2.00   sec  13.8 MBytes   115 Mbits/sec    0   2.71 MBytes       
[  4]   2.00-3.00   sec  10.0 MBytes  83.9 Mbits/sec   48   1.08 MBytes       
[  4]   3.00-4.00   sec  10.0 MBytes  83.9 Mbits/sec    6    557 KBytes       
[  4]   4.00-5.00   sec  8.75 MBytes  73.4 Mbits/sec    0    652 KBytes       
[  4]   5.00-6.00   sec  8.75 MBytes  73.4 Mbits/sec    0    739 KBytes       
[  4]   6.00-7.00   sec  8.75 MBytes  73.4 Mbits/sec    4    580 KBytes       
[  4]   7.00-8.00   sec  7.50 MBytes  62.9 Mbits/sec    2    564 KBytes       
[  4]   8.00-9.00   sec  7.50 MBytes  62.9 Mbits/sec    4    491 KBytes       
[  4]   9.00-10.00  sec  7.50 MBytes  62.9 Mbits/sec    0    588 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  96.9 MBytes  81.3 Mbits/sec   64             sender
[  4]   0.00-10.00  sec  86.0 MBytes  72.2 Mbits/sec                  receiver
iperf Done.

# sysctl net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_congestion_control = bbr

# iperf3 -c XXXX
Connecting to host XXXX, port 5201
[  4] local 2001:41d0:1:8055::1 port 48660 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  16.4 MBytes   137 Mbits/sec    0   1.60 MBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.61 MBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec   48   1.61 MBytes       
[  4]   3.00-4.00   sec  10.0 MBytes  83.9 Mbits/sec    0   1.63 MBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  94.4 Mbits/sec    7   1.61 MBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.61 MBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec   35   1.61 MBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    1   1.61 MBytes       
[  4]   8.00-9.00   sec  10.0 MBytes  83.9 Mbits/sec    0   1.61 MBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec   48   5.55 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   115 MBytes  96.6 Mbits/sec  139             sender
[  4]   0.00-10.00  sec   105 MBytes  88.1 Mbits/sec                  receiver
iperf Done.
# iperf3 -c XXXX
Connecting to host XXXX, port 5201
[  4] local 2001:41d0:1:8055::1 port 48670 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  16.4 MBytes   137 Mbits/sec    0   1.64 MBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    1   1.64 MBytes       
[  4]   2.00-3.00   sec  10.0 MBytes  83.9 Mbits/sec    3   1.65 MBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    6   1.65 MBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  94.4 Mbits/sec    1   1.65 MBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.67 MBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec   48   1.65 MBytes       
[  4]   7.00-8.00   sec  10.0 MBytes  83.9 Mbits/sec    1   1.64 MBytes       
[  4]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    7   1.65 MBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec    2   5.55 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   115 MBytes  96.6 Mbits/sec   69             sender
[  4]   0.00-10.00  sec   105 MBytes  88.0 Mbits/sec                  receiver
iperf Done.

72 мс пинг, 100 мбит сервер в OVH => 100 мбит домашний интернет в России.

Изменено пользователем rm_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я тут тоже как на 4.14 дома пересел заюзал bbr и fq и торенты сразу начали раздаваца намного шустрее после этого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А где тесты htcp и cubic?

Кроме того, мне hybla давала стабильные 10-15 мегабит при потерях, когда всё остальное приводило к лагам иптв.

bbr тогда и в планах не было :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

8 часов назад, Ivan_83 сказал:

А где тесты htcp и cubic?

Держите. bbr тестировал в начале и в конце, чтоб подтвердить что сетевые условия не изменились.

# sysctl net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_congestion_control = bbr

# iperf3 -c XXXX
Connecting to host h, port 5201
[  4] local 2001:41d0:1:8055::1 port 35044 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  16.4 MBytes   137 Mbits/sec    0   1.69 MBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.69 MBytes       
[  4]   2.00-3.00   sec  10.0 MBytes  83.9 Mbits/sec   48   1.68 MBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.69 MBytes       
[  4]   4.00-5.00   sec  10.0 MBytes  83.9 Mbits/sec   47    882 KBytes       
[  4]   5.00-6.00   sec  12.5 MBytes   105 Mbits/sec    0   1.68 MBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.69 MBytes       
[  4]   7.00-8.00   sec  10.0 MBytes  83.9 Mbits/sec   48   1.69 MBytes       
[  4]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.69 MBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec   48   5.55 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   115 MBytes  96.6 Mbits/sec  191             sender
[  4]   0.00-10.00  sec   105 MBytes  87.9 Mbits/sec                  receiver

iperf Done.

# sysctl net.ipv4.tcp_congestion_control=htcp
net.ipv4.tcp_congestion_control = htcp

# iperf3 -c XXXX
Connecting to host h, port 5201
[  4] local 2001:41d0:1:8055::1 port 35050 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  13.2 MBytes   111 Mbits/sec    0   1.83 MBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.90 MBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec   48    990 KBytes       
[  4]   3.00-4.00   sec  10.0 MBytes  83.9 Mbits/sec   48    567 KBytes       
[  4]   4.00-5.00   sec  7.50 MBytes  62.9 Mbits/sec    0    513 KBytes       
[  4]   5.00-6.00   sec  7.50 MBytes  62.9 Mbits/sec    0    575 KBytes       
[  4]   6.00-7.00   sec  8.75 MBytes  73.4 Mbits/sec    0    768 KBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0    881 KBytes       
[  4]   8.00-9.00   sec  10.0 MBytes  83.9 Mbits/sec   48    742 KBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec    0    747 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   102 MBytes  85.5 Mbits/sec  144             sender
[  4]   0.00-10.00  sec  94.1 MBytes  78.9 Mbits/sec                  receiver

iperf Done.

# iperf3 -c XXXX
Connecting to host h, port 5201
[  4] local 2001:41d0:1:8055::1 port 35056 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  13.2 MBytes   111 Mbits/sec    0   1.82 MBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.90 MBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec   48    990 KBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0    990 KBytes       
[  4]   4.00-5.00   sec  7.50 MBytes  62.9 Mbits/sec   48    509 KBytes       
[  4]   5.00-6.00   sec  7.50 MBytes  62.9 Mbits/sec    0    553 KBytes       
[  4]   6.00-7.00   sec  7.50 MBytes  62.9 Mbits/sec    0    721 KBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0    872 KBytes       
[  4]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec    0    919 KBytes       
[  4]   9.00-10.00  sec  10.0 MBytes  83.9 Mbits/sec   48    739 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   102 MBytes  85.5 Mbits/sec  144             sender
[  4]   0.00-10.00  sec  94.2 MBytes  79.0 Mbits/sec                  receiver

iperf Done.

# sysctl net.ipv4.tcp_congestion_control=cubic
net.ipv4.tcp_congestion_control = cubic

# iperf3 -c XXXX
Connecting to host h, port 5201
[  4] local 2001:41d0:1:8055::1 port 35060 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  2.94 MBytes  24.7 Mbits/sec    0    268 KBytes       
[  4]   1.00-2.00   sec  6.09 MBytes  51.1 Mbits/sec    0    527 KBytes       
[  4]   2.00-3.00   sec  11.0 MBytes  92.3 Mbits/sec    0    896 KBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0    900 KBytes       
[  4]   4.00-5.00   sec  10.0 MBytes  83.9 Mbits/sec   48    685 KBytes       
[  4]   5.00-6.00   sec  10.0 MBytes  83.9 Mbits/sec    0    768 KBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec    0    828 KBytes       
[  4]   7.00-8.00   sec  10.0 MBytes  83.9 Mbits/sec    0    871 KBytes       
[  4]   8.00-9.00   sec  11.2 MBytes  94.4 Mbits/sec   48    637 KBytes       
[  4]   9.00-10.00  sec  8.75 MBytes  73.4 Mbits/sec    0    688 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  92.5 MBytes  77.6 Mbits/sec   96             sender
[  4]   0.00-10.00  sec  89.0 MBytes  74.6 Mbits/sec                  receiver

iperf Done.

# iperf3 -c XXXX
Connecting to host h, port 5201
[  4] local 2001:41d0:1:8055::1 port 35064 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  2.94 MBytes  24.7 Mbits/sec    0    268 KBytes       
[  4]   1.00-2.00   sec  6.09 MBytes  51.1 Mbits/sec    0    526 KBytes       
[  4]   2.00-3.00   sec  11.0 MBytes  92.3 Mbits/sec    0    865 KBytes       
[  4]   3.00-4.00   sec  11.2 MBytes  94.4 Mbits/sec    0    906 KBytes       
[  4]   4.00-5.00   sec  10.0 MBytes  83.9 Mbits/sec   48    707 KBytes       
[  4]   5.00-6.00   sec  10.0 MBytes  83.9 Mbits/sec    0    786 KBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec    0    843 KBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0    883 KBytes       
[  4]   8.00-9.00   sec  8.75 MBytes  73.4 Mbits/sec   48    661 KBytes       
[  4]   9.00-10.00  sec  10.0 MBytes  83.9 Mbits/sec    0    704 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  92.5 MBytes  77.6 Mbits/sec   96             sender
[  4]   0.00-10.00  sec  88.4 MBytes  74.2 Mbits/sec                  receiver

iperf Done.

# sysctl net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_congestion_control = bbr

# iperf3 -c XXXX
Connecting to host h, port 5201
[  4] local 2001:41d0:1:8055::1 port 35074 connected to XXXX port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  16.4 MBytes   137 Mbits/sec    0   1.61 MBytes       
[  4]   1.00-2.00   sec  11.2 MBytes  94.4 Mbits/sec   47    843 KBytes       
[  4]   2.00-3.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.61 MBytes       
[  4]   3.00-4.00   sec  10.0 MBytes  83.9 Mbits/sec   48    845 KBytes       
[  4]   4.00-5.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.61 MBytes       
[  4]   5.00-6.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.62 MBytes       
[  4]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec   48   1.61 MBytes       
[  4]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0   1.62 MBytes       
[  4]   8.00-9.00   sec  10.0 MBytes  83.9 Mbits/sec   48   1.62 MBytes       
[  4]   9.00-10.00  sec  11.2 MBytes  94.4 Mbits/sec    0   5.55 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec   115 MBytes  96.6 Mbits/sec  191             sender
[  4]   0.00-10.00  sec   105 MBytes  88.1 Mbits/sec                  receiver

iperf Done.

Они в целом не так и плохи. У htcp имеется сваливание куда-то к 62 мегабитам, у cubic основной недостаток - медленный старт, ну и тоже некоторые падения в процессе.

 

Вот ещё нашёл мои старые заметки по тестам в другом ДЦ пару лет назад (bbr тогда тоже ещё не было), с гораздо более загруженным аплоадом.

Наблюдаемая скорость при аплоаде большого файла, в мегабайтах в секунду:

/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_bic.ko		-- 6..5..4
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_highspeed.ko	-- 2
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_htcp.ko		-- 1.5...3...2
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_hybla.ko		-- 3...2...1
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_illinois.ko	-- 6..7..10
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_lp.ko		-- 2..1
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_scalable.ko	-- 5..4..3
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_vegas.ko		-- 2.5
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_veno.ko		-- 2.5
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_westwood.ko	-- <1mb
/lib/modules/3.14.17-rm1+/kernel/net/ipv4/tcp_yeah.ko		-- 2..5..6

 

Изменено пользователем rm_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кубик отстой, хз как его в дефолты протащили.

У htcp есть две крутилки, которые вроде его разгоняют.

вествуд для диверсий и врагов, у меня он тоже хромал на все конечности :)

 

По твоим же тестам htcp порвал илиноиса.

А hybla порвала бы всех при RTT >70 и потерях, а так да, у неё медленный старт.

Может соберусь силами, соберу обратно стенд и проверю как будет bbr в моих херовых условиях против хублы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 минуты назад, Ivan_83 сказал:

По твоим же тестам htcp порвал илиноиса.

По нынешним получается так, но в более сложных условиях (результаты в конце) иллиноис был на голову лучше.

Да всё равно bbr лучше их всех. Жаль сейчас уже нет возможности проверить в том же окружении ещё и bbr.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.