Google Analytics是目前应用最广泛的免费网站统计分析工具,但在网站速度分析方面功能薄弱。有些网站速度测试工具如baidu仅提供页面元素加载时间;有些工具如pingdom提供的Start Time、Connect Time、First Byte和Last Byte细分仍无法满足要求;这里使用功能更强大的GTmetrix来分析网站速度,本篇是网站内容分析第三部分——网站速度分析 这里以首页为例说明基本用法。

首先打开GTmetrix,在Analyze Performance of 下面的输入框中输入要分析的网址,点击Go!

GTmetrix分析完成之后的报告包括Summary和Breakdown两部分。Summary是概要信息,显示了Page Speed Grade、YSlow Grade、Page load time、Total page size、Total number of requests等;Breakdown用来显示Page Speed、YSlow、Timeline和History等分类功能。网站速度分析的主要部分在Time Line标签中,里面记录了Request、HTTP Code、Host、Byte和Timeline信息。

一、网站速度分析

1. Request分析

Request分析旨在了解页面加载过程中发出的所有请求,再结合页面元素分析出必要的请求,通过减少Request数量提高网站速度。请求的对象包括以下几个方面:

  • HTML objecta是网页主体代码。
  • Scripts objects包括站内Scripts和站外Scripts。站内Scripts是为满足网站不同功能而设计的,站外Scripts主要是谷歌转换跟踪、百度商桥、量子统计和雅虎统计应用。
  • CSS objects包括站内CSS和站外CSS。站内CSS是为网站布局设计的,包括digital.css、lx.css和common.css;站外CSS是使用百度商桥时调用的bw.css。
  • Images objects包含站内图片请求和站外图片。站内图片请求是为了满足网站设计,站外图片请求是Google Analytics和Google doubleclick为了满足统计跟踪功能而发出的。

通过分析发现,很多Request可以合并或利用其他技术间接合并,利用少量Request满足多个需求。

2. HTTP Code分析

HTTP Code分析的目的是找出页面中错误的HTTP请求。通常网页在没有特殊需求时,HTTP状态码应该是200,错误的状态码会直接影响用户体验。比如301、302会造成跳转和页面加载速度变慢,404会直接显示错误信息,503会显示服务器错误等。以下是可能存在问题的HTTP Code:

GET icon.swf206 Partial Contentqiao.baidu.com24.6 KB
GET 1016627227?random=131…302 Foundgoogleadservices.com42 B
GET cookie.js404 /js/cookie.jsbeijingshouji.com1.6 KB
GET icon_help_item.gif404 /visit/images/icon_help_item.gifbeijingshouji.com1.6 KB
GET right_bg_tab.gif404 /visit/images/right_bg_tab.gifbeijingshouji.com1.6 KB
  • 206状态码,服务器已经成功处理了部分 GET 请求。
  • 302状态码,临时重定向。
  • 404状态码,请求信息未找到。
这些状态码需要与工程师沟通,确定到底发生了什么、为什么会发生这些以及该如何处理这些问题。

3. Host分析

通过Host分析,找出页面加载过程中需要请求的所有主机信息。以下是统计数据:

123.125.148.82
beijingshouji.com
dt.tongji.linezing.com
googleads.g.doubleclick.net
googleadservices.com
google-analytics.com
hm.baidu.com
hzs10.cnzz.com
icon.cnzz.com
js.tongji.linezing.com
qiao.baidu.com
rqiao.baidu.com
s9.cnzz.com
tw.js.webmaster.yahoo.com
tw.rc.webmaster.yahoo.com

数据显示页面加载过程中除了网站本身主机以外,还需要请求14个站外主机。过多的主机请求明显会减慢网站速度。

4. Byte分析

Byte分析的目的是找出那些未经压缩的请求元素。通常页面元素都会经过压缩以提高传输和加载速度速度。将鼠标移到Byte数据上会显示对象压缩前后的对比信息(未经压缩的只显示压缩前的信息)。如图:

数据显示,该页面的全部图片都未压缩、部分JS代码未压缩。过多未经压缩的页面对象也降低了网站速度。

5. Timeline分析

通过Timeline分析,了解每个GET从发出请求到加载完成各个阶段的时间分布。

以页面第二个请求举例:在第一个请求发出873ms后,Google Analytics网站跟踪代码开始发出请求,请求从发出到接收完成一共经历了DNS Lookup、Connecting、Blocking、Sending、Waiting和Receiving六个阶段,时间共计38ms。请求完成之后是DOM加载和页面加载。下面简单解释下这六个阶段:

1)         DNS Lookup,DNS解析时间。如果页面存在多个请求主机,频繁DNS解析将消耗更多的时间。

2)         Connecting,建立一个TCP连接所需要的时间,不同的浏览器使用不同的端口下载资源,因此更多的端口等于更多的并行性,并且更多的TCP连接时间开销。

3)         Blocking,网页请求被阻塞,花费在浏览器中的等待网络连接的时间;

4)         Sending,向服务器发送请求所需要的时间;

5)         Waiting,等待服务器响应的时间(直到第一个字节是从服务器收到的),优化服务或连接;

6)         Receiving,接收服务器响应对象需要的时间;

二、网站速度建议

了解了影响网站速度的影响因素,我们可以从服务器端、传输端和页面端分别进行网站速度优化

1. 服务器优化

服务器优化就是从动态语言执行、数据库查询、数据存储等方面进行优化,这些工作复杂而且关系到网站全局整站运行,因此需要谨慎,当然服务器端优化具体难度和效率取决于网站管理员的水平。由于没有操作过公司服务器,因此就不做详细介绍,仅以我自己的博客服务器端优化为例说明:

1)         用HTML语言代替PHP语言直接输出信息,比如语言、名称、固定URL地址等;

2)         定期进行数据库修复和优化;

3)         利用Expires为网页静态元素设置过期时间;

4)         设置服务器和页面缓存;

5)         启用Gzip压缩;

6)         其他有效但未实施的方法:利用CDN技术为网站提速;缩小Cookie,针对WEB组件使用与域名无关的Cookie;

2. 传输优化

传输优化是为了提高数据传输速度,减少传输过程中的等待。

1)         字节优化。将页面加载过程中传输的所有数据压缩,HTML代码压缩、JS压缩、CSS压缩、图片压缩等。

2)         缓存优化。设置有效的服务器和页面缓存时间。

3)         HTTP优化。A.合并CSS和JS,减少站内CSS和JS的HTTP请求;B.利用CSS  Sprites减少图片HTTP请求;C.减少站外主机DNS查询;D.避免不必要的HTTP和JS跳转;E.减少404错误。

3. 页面优化

页面优化主要围绕网站页面元素进行,常见的页面元素有图片、CSS代码、JS代码、HTML代码等。

1)         图片优化。选择合适的图片类型并压缩,图片颜色丰富采用JEG格式;颜色数少或有透明通道适合用PNG格式;LOGO图片用PNG-8格式或GIF比较适合。

2)         CSS代码优化。去除不使用的CSS代码;使用简写精简CSS代码;将CSS代码通过外部文件加载;CSS链接位置在页面顶部优先加载。

3)         JS代码优化。将JS代码通过外部文件加载;优化JS顺序,优先加载重要JS;将JS放置在页面底部。

4)         HTML代码优化。减少注释信息;去除无用代码;减少页面空行。

5)         DOM优化:减少DOM个数,降低浏览器解析压力;设置合理的DOM顺序,把重要的DOM放前面。

 

做网站前端优化的朋友一般都知道两个工具:谷歌的Page Speed和雅虎的Yslow,大家可以参考这两个工具的优化建议,在GTmetrix的Breakdown标签中有具体信息,经过优化之后的网站速度都会有不同程度提高,以下是我博客的在谷歌Page Speed和雅虎Yslow的得分,评分是次要的,主要的目的是为用户提供良好的用户体验。

 

以上只是个人在做博客和公司网站优化过程中的一些理解,其中的不详之处甚至错误的地方,欢迎大家批评指正。



除非注明,本博客文章均为 数据研究与商业应用(TonySong) 原创.
转载请注明本文地址: http://www.searchmarketingart.com/baidu-promotion-analysis-with-gtmetrix-site-speed-analysis.html