标签:第三节 application 压缩 worker Nginx gzip 优化 keepalive
优化的目的?
• 标准情况下,软件默认的参数都是对安装软件的硬件标准来设置的,⽬目前我们服务器器的硬件资源远远⼤大于要求的标准,所以为了了让服务器器性能更更加出众,充分利利⽤用服务器器的硬件资源,我们⼀一般需要优化APP的并发数来提升服务器器的性能。
优化方案?
• Nginx是主进程+工作进程模型
• worker_processes 1; 工作进程数量量 按CPU的总核⼼心调整
• worker_cpu_affinity 0010 0100 1000; CPU的亲和⼒力力
• worker_connections 1024; 一个工作进程的并发数
1、并发优化
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
events {
worker_connections 1024;
}
查看主机有几个CPU
cat /proc/cpuinfo |grep "flags" |wc -l
修改config的 worker_processes 的值为4
设置CPU的亲和力
worker_cpu_affinity 0001 0010 0100 1000;
设置并发数
自定义输出
ps -eo psr,pid,args |grep "nginx"
修改Nginx的cpu亲和力
修改后查看
检查Nginx的连接数
netstat -antpl |grep nginx |grep ESTABLISHED|wc -l
长连接
http协议属于TCP协议
优化目标:减少三次握手和四次断开的次数
keepalive_timeout 5; 长连接时间
keepalive_requests 8192; 每个长连接接受最大请求数
keepalive_timeout 0; 0代表关闭
#keepalive_timeout 100;
#keepalive_requests 8192;
修改config
keepalive_timeout 5; 修改长连接时长为5
keepalive_timeout 5; 修改每个连接可以处理多少个请求数
保存 退出 关闭 重启Nginx
实现方式:
# 开启gzip
gzip off;
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
# gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间,后面会有详细说明
gzip_comp_level 1;
# 进行压缩的文件类型。javascript有多种形式。其中的值可以在 mime.types文件中找到。
gzip_types text/plain application/javascript application/x-javascript
text/css application/xml text/javascript application/x-httpd-php
image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf
font/opentype font/x-woff image/svg+xml;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
# 设置压缩所需要的缓冲区大小
gzip_buffers 32 4k;
# 设置gzip压缩针对的HTTP协议版本
gzip_http_version 1.0;
#找大文件
find /usr/share/ -type f -size +1M
未开压缩前
修改config文件
gzip on;
gzip_proxied any;
gzip_min_length 1k;
gzip_buffers 4 8k;
gzip_comp_level 6;
gzip_types text/plain text/css application/x-javascript application/javascriptapplication/xml;
修改后
标签:第三节,application,压缩,worker,Nginx,gzip,优化,keepalive 来源: https://www.cnblogs.com/zhanleishang/p/10666963.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。