一、Nginx性能优化:
1.进程与CPU绑定:
根据机器核心数,将Nginx进程绑定到不同的CPU,减少进程切换
控制最大开启的进程数,通常不超过机器核心数
worker_processes auto; # 1.9版本之后可以设置为auto
worker_cpu_affinity auto; # 根据实际情况设置CPU亲和性
2.连接数和文件句柄调整:
调整最大连接数和文件句柄数,以提高性能
events {
worker_connections 10240; # 设置每个worker进程的最大连接数
use epoll; # 使用epoll模型
}
3.性能提升配置:
开启高效传输,启用GZIP压缩,优化TCP参数
sendfile on;
tcp_nopush on;
tcp_nodelay on;
gzip on;
4.Keepalive和超时设置:
调整keepalive_timeout会话保持时间,设置proxy超时时间
keepalive_timeout 65; # 适合大多数场景
proxy_connect_timeout 10s; # 设置代理连接超时时间
proxy_send_timeout 10s; # 设置代理发送超时时间
proxy_read_timeout 10s; # 设置代理读取超时时间
二、系统层面调整:
1.增大文件句柄数:
临时修改文件句柄数
ulimit -n 10240 # 临时修改文件句柄数
- 永久生效,编辑/etc/security/limits.conf
# 在文件末尾添加如下内容
* soft nofile 10240
* hard nofile 10240
2.进程最大文件打开数:
- 每个进程的最大文件打开数设置较高。
worker_rlimit_nofile 10240; # 设置每个Nginx进程的最大文件打开数
1.访问控制和流量控制:
- 配置防火墙规则,限制不必要的访问。
- 考虑使用Nginx的限速模块进行流量控制。
2.安全性配置:
- 定期审查和升级Nginx,确保安全性。
- 配置日志记录,以便及时排查潜在问题。