Jump to content
Калькуляторы

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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>

 

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
9 часов назад, alibek сказал:

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
13 часов назад, rm_ сказал:

net.ipv4.tcp_congestion_control=illinois

Кусок хрени.

 

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

net.ipv4.tcp_congestion_control=bbr

Не пробовал.

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

Share this post


Link to post
Share on other sites
19 минут назад, Ivan_83 сказал:

Кусок хрени.

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

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

Edited by rm_

Share this post


Link to post
Share on other sites

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

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
2 часа назад, rm_ сказал:

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

# 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 мбит домашний интернет в России.

Edited by rm_

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
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

 

Edited by rm_

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites
3 минуты назад, Ivan_83 сказал:

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now