摘要:Nginx是大型架构的关键,也是实现高并发的关键,下面我就重点详解Nginx多少算高并发以及关键技术@mikechen
本文作者:陈睿|mikechen
文章来源:mikechen.cc
在一些大型互联网公司,比如:阿里的双11就是最经典的代表,每秒几十万的请求,这就是典型的高并发场景。
Nginx多少算高并发
一般,Nginx通常在几百...到几千个并发连接,就算有一定的并发量了。
如果Nginx并发连接超过几千到几万并发,这就算典型的“高并发”了。
Nginx 的性能,高度依赖于:Nginx配置,以及硬件配置、以及优化...等等。
比如: CPU 核心数、内存、磁盘 I/O /和网络带宽,以及优化...等等。
CPU核心数
每个worker进程通常会占用一个CPU核心,因此CPU核心数越多,理论上能支持的并发连接数就越多。
内存
内存大小,决定了Nginx可以缓存多少数据,以及能同时处理多少个连接。
网络带宽
当然还会包含:网络带宽,这会限制了Nginx能够处理的最大流量。
Nginx配置
要实现高并发,Nginx 需要进行特定的配置参数调整,例如:
worker_processes
worker_processes 4; # 设置为 CPU 核心数设置 worker 进程数,通常为 CPU核心数,当然,你可以设置为和核数的 2-4 倍。。。等等;
worker_connections
worker_connections,设置每个工作进程能够打开的最大连接数,比如:为 1024、 或更大。
worker_connections 10240; # 每个 worker 进程最大连接数keepalive_timeout
设置 keepalive 连接的超时时间,通常为 60-120 秒;
sendfile
启用 sendfile 选项,提高文件传输性能;
tcp_nopush
启用 tcp_nopush 选项,提高网络传输性能。
worker_rlimit_nofile
增加每个进程的文件描述符限制,避免连接数过多时出现问题。
比如:
ulimit -n 1000000 # 增加文件描述符的数量当然,除此之外,还可以利用Nginx的多服务器来扩展集群。
总之,适当的配置调整、操作系统优化、和服务器集群...等等,是确保 Nginx 在高并发场景下的关键点。
来源:杜绝说万事