Предложения по повышению пропускной способности уровня TCP - PullRequest
1 голос
/ 26 июля 2010

у нас есть требование к приложению, при котором мы будем получать сообщения от 5-10 клиентов со скоростью 500 КБ / с и выполнять некоторую внутреннюю логику, а затем распределять полученные сообщения среди 30-35 других сетевых объектов.

Что предлагается для оптимизации уровня tcp или уровня потока?

Ответы [ 2 ]

1 голос
/ 03 ноября 2015

Иногда программисты могут «выстрелить себе в ногу».Одним из примеров является попытка увеличить размер буфера сокетов приложения пользовательского пространства linux с помощью setsockopt / SO_RCVBUF.В последних дистрибутивах Linux это деактивирует автоматическую настройку окна приема, что приводит к более низкой производительности, чем то, что было бы видно, если бы мы не нажали на курок.

0 голосов
/ 26 июля 2010

~ 4 Мбит / с (8 x 500 КБ / с) на каждое соединение TCP вполне вписывается в возможности хорошо написанного кода без каких-либо специальных оптимизаций.Конечно, это предполагает, что тактовая частота вашей целевой машины измеряется в ГГц и не является низкой в ​​ОЗУ.

Когда вы входите в диапазон 60-80 Мбит / с на соединение TCP, тогда вы начинаетечтобы преодолеть некоторые узкие места, которые могут нуждаться в профилировании и контрмерах.

Поэтому, чтобы ответить на ваш вопрос, если не возникает проблем, не предлагаются никакие оптимизации TCP или потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...