Nginx优化之高并发配置
1.高并发简介
高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。
2.优化思路
2.1 系统层面优化
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | ulimit -n 65536
 
 
 echo 10000 > /proc/sys/net/core/somaxconn
 
 
 echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
 echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
 
 
 echo 0 > /proc/sys/net/ipv4/tcp_syncookies
 
 | 
2.2 Linux内核参数优化
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 | vim /etc/sysctl.conf
 
 net.core.somaxconn = 262144
 net.core.rmem_default = 262144
 net.core.wmem_default = 262144
 net.core.rmem_max = 16777216
 net.core.wmem_max = 16777216
 net.ipv4.tcp_rmem = 4096 4096 16777216
 net.ipv4.tcp_wmem = 4096 4096 16777216
 net.ipv4.tcp_mem = 786432 2097152 3145728
 net.ipv4.tcp_max_syn_backlog = 16384
 net.core.netdev_max_backlog = 20000
 net.ipv4.tcp_fin_timeout = 15
 net.ipv4.tcp_max_syn_backlog = 16384
 net.ipv4.tcp_tw_reuse = 1
 net.ipv4.tcp_tw_recycle = 1
 net.ipv4.tcp_max_orphans = 131072
 net.ipv4.tcp_syncookies = 0
 
 
 sysctl -p
 
 | 
2.3 Nginx配置文件优化
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 | vim /etc/nginx/nginx.conf
 worker_processes auto;
 worker_rlimit_nofile 65535;
 events {
 use epoll;
 worker_connections 65535;
 multi_accept on;
 }
 
 http {
 sendfile            on;
 send_timeout       10s;
 client_header_buffer_size 4k;
 tcp_nopush          on;
 tcp_nodelay         on;
 keepalive_timeout   0;
 }
 
 | 
2.4 扩展服务器的CPU和内存
这个就不在这里说了,这个大家都懂的操作,再说就没意义了。无非就是联系厂商增加CPU和内存,或者自己买CPU和内存,是云上的就扩展CPU和内存就可以了。