проблеммы с сокетом
От: Orlik  
Дата: 01.02.06 11:06
Оценка:
есть программа которая открывает порт и ждёт UDP пакеты , читает их и обрабатывает. есть подозрение что она не успевает обрабатывать неоторые пакеты и они теряются , как такое можно проверить ? Программа написана на C и как я понимаю такое можно посмотреть через ioctl , только я так и не нашел как именно. Загрузка проца нулевая , канал 100М потери могут быть только если переполняется буфер.
Re: проблеммы с сокетом
От: aik Австралия  
Дата: 01.02.06 11:14
Оценка:
Здравствуйте, Orlik, Вы писали:

O>есть программа которая открывает порт и ждёт UDP пакеты , читает их и обрабатывает. есть подозрение что она не успевает обрабатывать неоторые пакеты и они теряются , как такое можно проверить ? Программа написана на C и как я понимаю такое можно посмотреть через ioctl , только я так и не нашел как именно. Загрузка проца нулевая , канал 100М потери могут быть только если переполняется буфер.


tcpdump.
В качестве первой меры подними приоритет потоку, который у тебя принимает пакеты и обрабатывай пакеты асинхронно.
Re[2]: проблеммы с сокетом
От: Orlik  
Дата: 01.02.06 11:16
Оценка:
Здравствуйте, aik, Вы писали:

aik>Здравствуйте, Orlik, Вы писали:


O>>есть программа которая открывает порт и ждёт UDP пакеты , читает их и обрабатывает. есть подозрение что она не успевает обрабатывать неоторые пакеты и они теряются , как такое можно проверить ? Программа написана на C и как я понимаю такое можно посмотреть через ioctl , только я так и не нашел как именно. Загрузка проца нулевая , канал 100М потери могут быть только если переполняется буфер.


aik>tcpdump.

aik>В качестве первой меры подними приоритет потоку, который у тебя принимает пакеты и обрабатывай пакеты асинхронно.

tcpdump при нескольких десятков пакетов в секунду ? и чего там можно будет увидеть ?
Re[3]: проблеммы с сокетом
От: aik Австралия  
Дата: 01.02.06 11:27
Оценка:
Здравствуйте, Orlik, Вы писали:

aik>>tcpdump.

O>tcpdump при нескольких десятков пакетов в секунду ? и чего там можно будет увидеть ?

если запустить на 2 компах, то можно увидеть ушел ли пакет вообще и пришел ли адресату. А что ковыряться сложновато — ну есть такое, так воткни в пакеты видимые строчки с номером, чтоб глазами быстро просмотреть можно было.
Re: проблеммы с сокетом
От: MaximE Великобритания  
Дата: 01.02.06 14:13
Оценка:
On Wed, 01 Feb 2006 11:06:40 -0000, Orlik <6681@users.rsdn.ru> wrote:

> есть программа которая открывает порт и ждёт UDP пакеты , читает их и обрабатывает. есть подозрение что она не успевает обрабатывать неоторые пакеты и они теряются , как такое можно проверить ? Программа написана на C и как я понимаю такое можно посмотреть через ioctl , только я так и не нашел как именно. Загрузка проца нулевая , канал 100М потери могут быть только если переполняется буфер.


Как быстрый и грязный тест, попробуй установить размер приемного буфера, скажем, в 8мб, и сравнить поведение.

--
Maxim Yegorushkin
Posted via RSDN NNTP Server 2.0
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.