У меня есть компьютер с Linux, который должен получать потоковые данные с нескольких устройств (до 30 или около того) в течение длительного времени.
Этот компьютер подключен к локальной сети Fast Ethernet (100 Мбит / с), к которой также подключены другие устройства, что означает, что он не выделен.
Поскольку потоковые данные принимаются через RTP (UDP), я заметил, что некоторые пакеты теряются: возможно, из-за коммутаторов / маршрутизаторов, возможно, из-за текущей ОС Linux.
В своих тестах я бы хотел оптимизировать Linux UDP-буферы чтобы управлять высокой скоростью входящего трафика данных, которая иногда может превышать 50 Мбит / с.
Это возможно? Какой параметр в этом случае более критичен? Я установил несколько параметров в /etc/sysctl.conf, но они могут быть неправильными ... поэтому любая помощь приветствуется.
Прилагаю пример к этому файлу. В компьютере есть 2 ГБ RAM открытка.
Заранее спасибо,
#The maximum socket receive buffer size which may be set by using the SO_RCVBUF socket option: 8 MB
net.core.rmem_max = 8388608
#The maximum socket send buffer size which may be set by using the SO_SNDBUF socket option: 512 KB
net.core.wmem_max = 524288
#The default setting in bytes of the socket receive buffer: 4 MB
net.core.rmem_default = 4194304
#The default setting in bytes of the socket send buffer: 256 KB
net.core.wmem_default = 262144
# Increase the maximum amount of option memory buffers
net.core.optmem_max = 40960
# Increase the maximum total buffer-space allocatable
# This is measured in units of pages (4096 bytes)
net.ipv4.tcp_mem = 65536 131072 262144
net.ipv4.udp_mem = 65536 131072 262144
# Increase the write-buffer-space allocatable
net.ipv4.tcp_wmem = 8192 65536 16777216
net.ipv4.udp_wmem_min = 16384
# Disable TCP slow start on idle connections
net.ipv4.tcp_slow_start_after_idle = 0
# If your servers talk UDP, also up these limits
#This is a vector of three integers governing the number of pages allowed for queueing by all UDP sockets. man 7 udp
net.ipv4.udp = 131072 196608 262144
#Minimal size, in bytes, of receive buffers used by UDP sockets in moderation.
net.ipv4.udp_rmem_min = 1073741824
# Increase number of incoming connections backlog
#net.core.netdev_max_backlog=2048