Nginx优化之高并发配置
1.高并发简介
高并发(High Concurrency)通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一 API 接口或者 Url 地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。
2.优化思路
2.1 系统层面优化
1 2 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内核参数优化
1 2 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配置文件优化
1 2 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和内存就可以了。