реклама на сайте
подробности

 
 
> уменьшается скорость по TCP через свичи
RoadRunner
сообщение Feb 15 2012, 11:35
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Всем доброго времени суток.
Если коротко, проблема в том, что при пропускании TCP трафика через цепочку 100-мегабитных свичей сильно падает скорость, примерно 7 Мбит на свич. Предполагаю, что дело в стандартной задержке свича, т.е. при двунаправленном трафике, типа запрос-ответ скорость естественно будет падать. Исходя из этого попытался увеличить MSS (максимальный размер сегмента), ожидая что кол-во подтверждений уменьшится, но Windows эту опцию увеличивать не дает, от чего закрались сомнения, а решит ли это проблему? Другой возможный вариант - переход на UDP и соответственно организация протокола обмена самому. Больше ничего в голову не приходит.

Т.е. вопрос: можно как-то оптимизировать TCP чтобы скорость хотя бы не так быстро падала при увеличении кол-ва свичей? Имеет ли смысл на UDP переходить?
Буду очень благодарен за помощь

Сообщение отредактировал RoadRunner - Feb 15 2012, 11:35
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
RoadRunner
сообщение Feb 15 2012, 17:01
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата
А какую реализацию TCP используете?


LwIP на передающей стороне (процессор Blackfin), на приемной обычная windows 7. Точнее так предполагается делать в конечном варианте, а пока экспериментировал на двух ПК с windows 7.
Вообще странно, что увеличение размера приемного окна не помогло, по идее этого достаточно должно быть чтобы передающий пачками сегменты гнал.. Если только размер этого самого congestion window никак не вмешивается..
Go to the top of the page
 
+Quote Post
VslavX
сообщение Feb 15 2012, 17:50
Сообщение #3


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(RoadRunner @ Feb 15 2012, 19:01) *
LwIP на передающей стороне (процессор Blackfin), на приемной обычная windows 7. Точнее так предполагается делать в конечном варианте, а пока экспериментировал на двух ПК с windows 7.
Вообще странно, что увеличение размера приемного окна не помогло, по идее этого достаточно должно быть чтобы передающий пачками сегменты гнал.. Если только размер этого самого congestion window никак не вмешивается..

А Вы TCP опции RFC-1323 для Windows разрешили? ЕМНИП даже для 7-ки надо что-то в реестре патчить. Иначе приемное окно не будет масштабироваться и его размер не превысит 64Кбайт. Вроде бы Congestion Window никак вмешиваться не должен, если нет потерь пакетов.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Feb 16 2012, 06:23
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(VslavX @ Feb 15 2012, 20:50) *
А Вы TCP опции RFC-1323 для Windows разрешили? ЕМНИП даже для 7-ки надо что-то в реестре патчить.

С этим у меня на семерке сложности.. В настройках у меня то, что по умолчанию, т.е.

Глобальные параметры TCP
------------------------------------------------------
Состояние масштабирования на стороне приема : enabled
Состояние разгрузки канала : automatic
Состояние NetDMA : enabled
Прямой доступ к кэшу (DCA) : disabled
Уровень автонастройки окна получения : normal
Поставщик надстройки контроля перегрузки : none
Мощность ECN : disabled
Отметки времени RFC 1323 : disabled

По идее опция "Уровень автонастройки окна получения" это "Receive Window Auto-Tuning Level" т.е. как раз отвечает за увеличение окна выше 64К. Она включена. Остальные настройки, каюсь, не особо понимаю, что означают.
Хотел изменить TcpAckFrequency, что бы подтверждения пореже генерить, так этой настройки на семерке нету. Пробовал в ручную создать - создается, но не работает, как слал одно подтверждение на два пакета, так и шлет. В XP попроще было)

Сообщение отредактировал RoadRunner - Feb 16 2012, 06:24
Go to the top of the page
 
+Quote Post
VslavX
сообщение Feb 16 2012, 06:41
Сообщение #5


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(RoadRunner @ Feb 16 2012, 08:23) *
С этим у меня на семерке сложности.. В настройках у меня то, что по умолчанию, т.е.

А Вы WireShark-ом прихватите траффик и посмотрите что там в сегменте SYN посылается - есть ли там опция масштабирования окна или нет. Заодно посмотрите как там по времени пакеты следуют.
Go to the top of the page
 
+Quote Post
RoadRunner
сообщение Feb 16 2012, 07:03
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 136
Регистрация: 13-05-11
Пользователь №: 64 972



Цитата(VslavX @ Feb 16 2012, 09:41) *
А Вы WireShark-ом прихватите траффик и посмотрите что там в сегменте SYN посылается - есть ли там опция масштабирования окна или нет.


Пишет Window scale: 8 (multiply by 256) - включена вроде. Не пойму как заставить его подтверждения слать скажем раз в 10 сегментов, пока шлет через два. Если бы удалось, все бы как на ладони было видно..

Сообщение отредактировал RoadRunner - Feb 16 2012, 07:05
Go to the top of the page
 
+Quote Post
VslavX
сообщение Feb 16 2012, 07:51
Сообщение #7


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(RoadRunner @ Feb 16 2012, 09:03) *
Пишет Window scale: 8 (multiply by 256) - включена вроде. Не пойму как заставить его подтверждения слать скажем раз в 10 сегментов, пока шлет через два. Если бы удалось, все бы как на ладони было видно..

ИМХО, тут не в подтверждениях дело. Если есть возможность и желание - выложите лог WireShark-а, может что интересное там получится разглядеть. Желательно два варианта - со свичом и без - чтобы разницу было видно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th June 2025 - 11:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01411 секунд с 7
ELECTRONIX ©2004-2016