异常500,程序异常,Exception
当前位置:Exception500 » 软件安装 » Centos7.2服务器高并发TCP优化记录

Centos7.2服务器高并发TCP优化记录

来源:exception500.com    发布时间:2020-04-20 08-18-02    浏览次数:2466次

系统socket层优化

echo 65535 > /proc/sys/net/core/somaxconn 准许最大链接数

echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle 快速回收链接

echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse 重用链接

echo 0 > /proc/sys/net/ipv4/tcp_syncookies 关闭洪水抵御


系统文件层优化

ulimit -n 65535


vim /etc/sysctl.conf

net.ipv4.tcp_syncookies = 0


sysctl -p

然后就可以超过1000个并发测试了。


另附其他系统内核参数说明:


net.ipv4.tcp_syncookies = 0

此参数是为了防止洪水攻击的,但对于大并发系统,要禁用此设置


net.ipv4.tcp_max_syn_backlog

参数决定了SYN_RECV状态队列的数量,一般默认值为512或者1024,即超过这个数量,系统将不再接受新的TCP连接请求,一定程度上可以防止系统资源耗尽。可根据情况增加该值以接受更多的连接请求。


net.ipv4.tcp_tw_recycle

参数决定是否加速TIME_WAIT的sockets的回收,默认为0。


net.ipv4.tcp_tw_reuse

参数决定是否可将TIME_WAIT状态的sockets用于新的TCP连接,默认为0。


net.ipv4.tcp_max_tw_buckets

参数决定TIME_WAIT状态的sockets总数量,可根据连接数和系统资源需要进行设置。


修改/etc/sysctl.cnf文件,在最后追加如下内容:

net.core.netdev_max_backlog = 32768

net.core.somaxconn = 32768

net.core.wmem_default = 8388608

net.core.rmem_default = 8388608

net.core.rmem_max = 16777216

net.core.wmem_max = 16777216

net.ipv4.ip_local_port_range = 1024 65000

net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1200

net.ipv4.tcp_timestamps = 0

net.ipv4.tcp_synack_retries = 2

net.ipv4.tcp_syn_retries = 2

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_mem = 94500000 915000000 927000000

net.ipv4.tcp_max_orphans = 3276800

net.ipv4.tcp_max_syn_backlog = 65536


保存退出,执行sysctl -p生效


[关键词: Centosulimitsysctl ]

软件开发 程序错误 异常 500错误 Exception Copyright© 2019-2021  Exception500 版权所有  【蜀ICP备15020376号-9】  网站地图