Высокая задержка для сетевого приложения Linux - PullRequest
2 голосов
/ 20 августа 2009

Я играю с сетевым программированием linux и написал небольшое клиент-серверное приложение, которое перенаправляет небольшое сообщение между клиентом и серверным процессом и измеряет время прохождения туда-обратно. Последовательно я вижу около 80 мс для туда и обратно локального хоста (это после настройки соединения). Это кажется необычайно высоким. На той же машине, работающей с тем же кодом, в Vista частота будет существенно ниже 1 мс.

Есть идеи о том, откуда эта разница? Код довольно прост: принимайте на одном конце, подключайтесь на другом, а затем просто отправляйте / получайте через одноранговый сокет.

Я только начинаю с Linux, прошу прощения, если это глупый вопрос.

1 Ответ

6 голосов
/ 20 августа 2009

Если вы используете TCP-сокеты, вы можете отключить алгоритм Nagle (установив опцию сокета TCP_NODELAY).

...