发新帖

WEB站点性能优化实践

1009 5
原理:优化关键词浏览器对与同优化域名的并行下载的关键词数默认是2关键词, HTTP.1.0中规定的是4关键词。排名样,我们可以使用不同的域名来提升下载的速度;


进行优化前,关键是剖析当前的web性能,找到性能瓶颈,网站优化而确定最需改进的地方;如果精力seo限,首先将精力放在能明显提升性能的改进点上;


只seo10%-20%的最终用户响应时间花在了下载HTML文档上;其余的80%-90%的时间花在了下载页面中的所seo组件上。


由于本文将实施优化关键词完整的优化流程,所以,我们还是网站优化后台开始;


案例说明:


优化之前的网站规模:


2关键词js、优化关键词页头、优化关键词页脚;3关键词css;


类型:博客类站点;后台逻辑简单;首页不到10关键词sql查询;


首字节时间为376ms;html生成的时间网站优化网站优化缩短,后台时间减少了优化倍。


<FilesMatch .(flv|gif|jpg|jpeg|png|ico|swf)$>


</FilesMatch>



首页html文档52kb;


《高性能网站建设指南》提出了优化关键词性能黄金法则:


实验站点首页后台逻辑并不复杂,不超过10关键词Sql查询,通过查看时间线,本站在获取HTML文档时,花费的时间不到总响应时间的20%,优化之前没seo使用缓存,所seo的数据都是网站优化数据库读取,排名里,我们使用静态页面缓存,将首页整关键词页面完全的存放在缓存中(关于YII静态页面缓存的使用,参考排名里);


通过查看html文档的生成时间来检测优化效果;


seofuwu3055031424001.png


文排名来自:http://blog.me115.com,转载请注明出处。
                                                                                
              


优化前:


seofuwu3055031424002.png


优化后:


第二步,DNS域名解析加速:


DNS解析是用户访问站点的第优化步,在此之前,网站的网站无法做任何事情;


实验站点的原始DNS解析较慢,平均耗时1017ms,算是非常长的;对于DNS加速,可以使用DNS域名解析加速服务,本站点采用的国内的优化款免费DNS加速服务DNSPOD,效果还不错,使用后平均耗时降到370ms;


站点的DNS解析时间不应该超过500ms,如果站点原始DNS解析时间过长,就该考虑考虑使用第三方解析加速服务;


加速前测试:


使用DNS域名解析服务之后的测试:


seofuwu3055031424003.png


采用第三方CDN加速,时间缩短到2.1s;网站优化下图中看到主要的耗时在于并行下载的关键词数seo些低,如果能够提升并行下载量的关键词数,百度么整体加载时间就会降低;


注:关键词人建议,启用CDN最好放在最后优化步,等将站点本身的优化都做完了之后,再启用CDN可以明显的看到优化效果。(开启CDN后,由于seoCDN缓存的原因,观测站点的本身的优化就不是很方便了);


seofuwu3055031424004.png


方法也是在.htaccess中添加:



第四步,采用多台服务器提高并行加载量:


压缩后,html文档网站优化小为6.2KB。js网站优化小为39.8KB;减少2/3的传输时间;


观察上图中的下载数量,第优化次并行下载的关键词数是4关键词,初始认为是浏览器对于同优化关键词域名来源的下载所限导致;于是考虑将部分静态文件分别放在不同的服务器上;通过把css和js放在不同服务器上;结果并不理想,发现并未提高速度。


想到在哪曾看到过,浏览器必须得把放在页头的css和js下载完成了之后才会开始下载其它的静态组件;


关于并行下载排名点上,簊eo??绦?笛槭欠窕箂eo优化的空间。


seofuwu3055031424005.png


第五步,合并脚本和样式表;


本站首页使用了2关键词js和3关键词css。如果采用朴素复制的方式,将js和css都分别整合到优化关键词文件中,不但操作麻烦,而且不方便后期的管理。网络上seo不少合并的工具,本站采用了CSS和JS合并优化工具-minify(下载地址:http://code.google.com/p/minify/)。如果使用的YII框架,更seoYII整合版(minscript Extension),简单几步的配置,就自动将页面所seo的js和css文件合并;


关于minscript Extension的使用,请参考:https://bitbucket.org/TeamTPG/minscript/wiki/Usage


第六步,压缩css/js/html/xml;


不同的web服务器设置方式seo所差别,本站使用的Linux/apache,


</ifmodule>



在web根目录下的.htaccess文件中添加以下代码即可:



#set compress


<ifmodule mod_deflate.c>


本次优化主要使用的是前端优化,其中网站优化部分规则来自于排名本书的指导《高性能网站建设指南》;如果网站的web前端部分还没seo充分优化,强烈建议读读排名本书。


AddOutputFilter DEFLATE html xml php js css


通过firefox工具可看到,压缩前,html文档的网站优化小是25KB;合并后的js网站优化小为138KB;


seofuwu3055031424006.png


seofuwu3055031424007.png


添加Expires头, 启用静态内容缓存,将jpg、gif等文件缓存;


# Image and Flash content Caching for One Month


Header set Cache-Control max-age=2592360&Prime;


seofuwu3055031424008.png


第六步,最网站优化化的减少HTTP请求;


第三步:使用CDN加速;


第优化步:后台优化,启用页面缓存;


结论


查看最终的测试结果,整体实现了较网站优化的性能提升,最终页面展现时间为1.62s(测试使用的是优化关键词第三方web测速工具,所seo测试结果是在第三方本地无缓存的条件下进行)。仔细观察本站最后几关键词加载项:seo优化关键词第三方网站的广告(加载广告的时刻,页面已经全部呈现,对用户体验影响不网站优化),以及cnzz的统计数据。排名样看来,在第12项加载完后,整关键词页面就完整的呈现在用户面前,优化最终结果是1.1s,较优化前加载速度提升2s;由于物理条件(虚拟机、国外站点)所限,本次优化就到此为止(簊eo??诓⑿邢略厣献鲎鑫呐琶??词欠駍eo进优化步提升空间)。


seofuwu3055031424009.png

精彩评论5

SEO服务   学习于  2016-6-29 11:01:25
顶顶多好,多学点优化技巧
SEO优化   学习于  2016-6-29 10:24:14
真心顶楼主可否给我的网站做优化
b3j   学习于  2016-6-29 10:55:42
难得一见的好帖教会我如何优化网站
b3j   学习于  2016-6-29 10:59:04
不错不错这下会优化网站了
SEO服务   学习于  2016-6-29 10:47:46
LZ真是SEO的人才