微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;
       }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐