Назад | Перейти на главную страницу

Linux: уменьшение количества ошибок UDP-пакетов

Я столкнулся с ошибками получения пакетов UDP (в Linux команда netstat -su).

У меня есть 10 процессов UDP, работающих на машине A (RHEL 5.2), и каждый из них отправляет 290-байтовый пакет 50 раз в секунду на один и тот же адрес и тот же порт UDP. На стороне получателя (Machine-B RHEL5.2) у меня есть процесс, который прослушивает этот UDP-порт. Кроме того, на компьютере B я запускаю netstat -su для проверки ошибок пакетов UDP.

Я прочитал, что мне нужно настроить мой System-B Linux sysctl, и для вышеуказанного теста я сделал следующее:

   net.core.rmem_max = 33554432
   net.core.netdev_max_backlog = 2000

Кроме того, я изменил размер MTU для обоих интерфейсов в Machine-A и Machine-B на 1380.

При всем вышесказанном я все еще сталкивался с увеличением ошибок приема пакетов UDP (в netstat)

Как придешь? Что-нибудь еще мне нужно настроить?

Кстати, я тоже пробовал net.core.rmem_max = 131071, но все еще сталкиваюсь с ошибками приема пакетов :(

net.core.rmem_max - максимальное значение, которое можно установить. Однако есть также значение по умолчанию, называемое net.core.rmem_default - Я бы тоже увеличил это.

Также вам необходимо настроить параметры буфера вашего приложения. Часто люди пытаются настроить параметры ядра, но не забывают о настройках приложения.