dadv: (chuck)
Choose your future ([personal profile] dadv) wrote2012-12-30 02:40 am
Entry tags:

Congestion Control Algorithms

Открыл для себя мир разнообразных алгоритмов управления контролем потока TCP в FreeBSD'шном стеке TCP/IP. По умолчанию используется sysctl net.inet.tcp.cc.algorithm=newreno, он же единственный в списке sysctl net.inet.tcp.cc.available.

Но достаточно было сделать kldload cc_chd и sysctl net.inet.tcp.cc.algorithm=chd, как скорость загрузки файла через ssh с удаленного сервера, до которого 11 хопов, 128ms rtt (и иногда бывают потери пакетов в незначительном количестве) стала разгоняться не до 55-60Kbyte/s, а до 75-80, а иногда и до 90Kbyte/s. Плюс первоначальный разгон скорости быстрее (видно невооруженным взглядом) и после притормаживаний сети шустрее возвращается на прежнюю скорость.

Эффект воспроизводимый. Оставлю так, пожалуй. Пробовал ещё cc_hd, cc_cubic, cc_htcp и cc_vegas, но в данных условиях они такого впечатляющего результата не дали. Все алгоритмы пробовал на дефолтных настройках.

Возможность тасовать эти алгоритмы появилась в FreeBSD, начиная с версий 8.3-RELEASE и 9.0-RELEASE.

Update: удалённый сервер - тоже FreeBSD, тоже под моим контролем и настройки менял синхронно на сервере и на клиенте.


Post a comment in response:

This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org