当UDP服务器高并发时,需要关注UDP缓冲区的大小是否足够,如果太小可能会导致UDP报文的抛弃,可以使用以下语句设置:
sudo sysctl -w net.core.rmem_default=20971520 sudo sysctl -w net.core.rmem_max=20971520 sudo sysctl -w net.core.wmem_default=20971520 sudo sysctl -w net.core.wmem_max=20971520 ulimit -n 10240 sudo sysctl -w net.ipv4.udp_mem='1073741824 10737418240 107374182400' sudo sysctl -w net.ipv4.udp_rmem_min='1073741824' sudo sysctl -w net.ipv4.udp_wmem_min='1073741824'
sudo vim /etc/sysctl.conf kernel.shmall = 2097152 kernel.shmmax = 4294967295 fs.file-max = 6553600 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 20971520 net.core.rmem_max = 20971520 net.core.wmem_default = 20971520 net.core.wmem_max = 20971520 net.ipv4.ip_forward = 1 sysctl -p
There was an error while loading. Please reload this page.