pagespeed超级智能的谷歌网页优化利器
最近做了一个项目,由于css,js优化不到位,导致首次打开页面特别的慢
用火狐查看,大部分js,css大部分时间耗在阻挡上面。
查了相关资料,这样解释**阻挡(Blocking):**每个浏览器有并发连接数量的上限(例如Firefox对每个host限制6个连接),如果当前建立的连接数已经超过上限,那么其余该请求会被阻塞,等待新的可以用的连接。
也就是多js,css太多了,那着手合并一下。
先是找了淘宝的combo,其实就可以满足现在我的需求,但是无意间发现了pagespeed
被其强大的功能所震惊了,而且是代码层面不需要任何修改
功能介绍页http://ngxpagespeed.com/ngx_pagespeed_example/
功能点
- 图像优化:剥离元数据、动态调整,重新压缩
- CSS 和 JavaScript 压缩、级联、内联
- 小资源内联
- 延迟图像和 JavaScript 加载
- HTML 重写
- 缓存周期延长
ng下安装pagespeed
https://developers.google.com/speed/pagespeed/module/build_ngx_pagespeed_from_source
ng下配置pagespeed
https://developers.google.com/speed/pagespeed/module/configuration
这是我的配置,开启combine_javascript貌似会影响网站js暂时先禁用了,估计是beta的原因
还有一个问题压缩合并js,css都有缓存,看了文档貌似没有提缓存时间的问题
如果需要刷新缓存,我是用重启nginx的方法
pagespeed on;
pagespeed RespectVary on;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
pagespeed RewriteLevel CoreFilters;
pagespeed DisableFilters combine_javascript;
#pagespeed EnableFilters combine_css,sprite_images,combine_heads,collapse_whitespace,extend_cache,combine_javascript;
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
关于阻挡blocking的介绍