一. Nginx的优化
1. 工作进程优化
# Nginx是主进程+⼯作进程模型(保证每个CPU内核一个进程)
worker_processes 4; ⼯作进程数量 按CPU的总核⼼调整
worker_cpu_affinity 0001 0010 0100 1000; CPU的亲和⼒
worker_connections 1024; ⼀个⼯作进程的并发数
cat /proc/cpuinfo | grep "flags" | wc -l #查看CPU的内核数量
ps -eo psr,pid,args | grep "nginx" #查看Nginx进程是否均匀分布在内核上
2. 长连接优化
# http协议属于TCP协议
# 优化⽬标:减少三次握⼿和四次断开的次数
keepalive_timeout 5; ⻓连接时间
keepalive_requests 8192; 每个⻓连接接受最⼤请求数
3. 数据压缩优化
gzip on; (启⽤ gzip 压缩功能)
gzip_proxied any; (nginx 做前端代理时启⽤该选项,表示⽆论后端服务器的headers头返回什么信息,都⽆条件启⽤压缩)
gzip_min_length 1024; (最⼩压缩的⻚⾯,如果⻚⾯过于⼩,可能会越压越⼤,这⾥规定⼤于1K的⻚⾯才启⽤压缩)
gzip_buffers 4 8k; (设置系统获取⼏个单位的缓存⽤于存储gzip的压缩结果数据流 按照原始数据⼤⼩以8K为单位申请4倍内存空间)
gzip_comp_level 3; (压缩级别,1压缩⽐最⼩处理速度最快,9压缩⽐最⼤但处理最慢,同时也最消耗CPU,⼀般设置为3就可以了)
gzip_types text/plain text/css application/x-javascript application/javascript application/xml;
4. 客户端缓存优化
语法: expires [time|epoch|max|off]
默认值: expires off
作⽤域: http, server, location
location ~.*\.(js|css)?$
{
expires 1h;
}
二. Nginx缓存服务器