Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Долго обрабатывается запрос   Найти похожие ветки 

 
Zelius ©   (2004-12-23 03:33) [0]

Пишу клиента и сервер с помощью Indy, которые работают через TCP/IP, все работает, но возник вопрос - время посылки и обработки запроса сервером составляет порядка 300 мс, при простом приеме пакета из 4 байт и отсылки 8 байт на гигабитной сети, пинг показывает меньше 10 мс, время обработки запроса на локальной машине не больше 15 мс. Сначала думал на Инди, переписал на чистые сокеты - не помогает. Может кто сталкивался и подскажет где тут узкое место? Спасибо.


 
Slym ©   (2004-12-23 06:49) [1]

узкое место - буферизация!
Ты фактически отправляешь данные в буфер, а система из данных делает пакеты и ставит в очередь на отправку, причем система старается делать "большие" пакеты и маленькие пакеты отправляет только по "таймауту" данных... вот таймаут и составляет те самые 200-300 мс.
Да не забывай что TCP коннект это не сразу обмен данными, а предварительная договоренность сокетов по обмену (запрос на коннект-ответ-обмен), на это тоже поправку делай.

Пробуй делать какой-нибудь flush buffer


 
Zelius ©   (2004-12-23 12:45) [2]

Это Nagle алгоритм так мешает? Его можно отключить, но майкрософт не рекомендует этого делать, правда не говорит, как избежать задержки.


 
Slym ©   (2004-12-24 11:26) [3]

UDP?!



Страницы: 1 вся ветка

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
14-1108365626
Ega23
2005-02-14 10:20
2005.03.06
Посоветуйте музыку


1-1109081445
Топпер
2005-02-22 17:10
2005.03.06
не главные формы на панели задач


1-1109019848
suharew
2005-02-22 00:04
2005.03.06
Как переименовать папку


6-1102699466
Антон
2004-12-10 20:24
2005.03.06
Определить текущие настройки TCP (IP, DNS, Mask)


14-1108402701
Ломброзо
2005-02-14 20:38
2005.03.06
"Как захочешь, так и было" (10 кБ)