服务器&NGINX并发优化

/etc/security/limits.conf

文件打开数:

* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535

/etc/sysctl.conf

fs.file-max = 65535

建议设置

net.ipv4.tcp_max_tw_buckets = 60000

检查连接数

程序准备接受的处于等待建立连接状态的最大TCP连接数量。 如果在队列满的时候来了一条连接建立请求,请求会直接被拒绝掉。在许多的主流操作系统上这个值都默认是128。

cat /proc/sys/net/core/somaxconn

设置永久连接数(vim /etc/sysctl.conf)

net.core.somaxconn = 30000

最后执行生效

sysctl -p

NGINX

http配置常连接

keepalive_timeout  300;
keepalive_requests 10000;

web.conf反向代理配置

upstream http_backend {
    server 127.0.0.1:8080 weight=1 max_fails=2 fail_timeout=20s;
    
    keepalive 3000;
}
server {
    ...
    location / {
        proxy_pass http://http_backend;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        ...
    }
}

keepalive改值请根据实际情况调整,安全配置:1000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注