Nginx学习笔记-优化

Nginx优化目的

标准情况下,软件默认参数都是对安装软件的硬件标准来设置的,目前我们服务器的硬件资源远远大于要求的标准,所以为了让服务器性能更加出众,充分利用服务器硬件资源,一般需要优化app的并发数来提升服务器性能,提高用户体验,节省公司成本

注意:优化需要根据实际情况进行调整每个业务的处理能力不同,需要进行实际测试才能得到当前最优配置

优化方案

nginx是主进程+工作进程模型

  • worker_processes 1; 工作进程数量,按CPU的总核心调整

  • worker_cou_affinity  0001 0010 0100 1000; CPU亲和力

  • worker_connections 1024; 一个工作进程的并发数

ps -eo psr,pid,args | grep nginx

长连接

http协议属于TCP协议

优化目标:减少三次握手和四次断开的次数

  • keepalive_timout 5; 长连接时间

  • keepalive_requests 8192; 每个长连接接受最大请求数

数据压缩

gzip on; 开启压缩功能

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; 什么类型的页面或文档启用压缩

客户端缓存

语法:expires [time|epoch|max|off]

默认值:expires off

作用域:http,server,location

满足js/css的数据在客户端缓存1小时

location ~.*\.(js|css)?$ {
       expires 1h;
       }

猜你喜欢

转载自blog.51cto.com/13944252/2352023
今日推荐