03月11日, 2014
众所周知,网站的打开速度是用户使用网站的第一步,也是提高网站收益和转化率的重要因素。根据Google的统计,如果网站打开慢每500毫秒,用户访问量将下降20%。根据Amazon统计,每慢100毫秒,交易额下降1%。由此可以看出网站速度对于用户体验以及网站收益的重要性。
一般衡量网站的打开速度所涉及到指标主要包括以下几个方面:
- 网络链路:链路延时(RTT)、链路丢包率、网络距离(路由跳数)
- 内容下载:域名解析时间、服务器连接时间(TCP连接)内容服务连接时间(HTTP第一字节返回时间)、内容下载时间
- 页面展现:页面加载时间、页面开始展现时间(渲染)时间、页面首屏时间、页面完全加载时间
目前,阿里测1.0版本可以支持网络链路和内容下载两项指标监测功能,如何利用阿里测进行网站优化?
HTTP探测:综合了解网站的性能,定位服务问题
- 确定探测的URL,为了能够更清楚的看出自己网站是否满足用户要求,可以选择业内做的比较好的网站作为对比
- 配置选项
a) 选择网站访问用户所在的主要运营商,区域默认覆盖所有
b) 请求方式
– GET:一般内容请求都是GET方式,直接从服务器取内容
– POST:用户上传文件或者输入的表单内容到服务器端,有些用户名和密码的输入也用该方式提交给服务器
– HEAD:只从服务器端取访问URL的信息头,一般用监测服务可用性
c) 启用Gzip
– 勾选后,请求头中会带有accept-encoding:gzip 的内容,这样支持文本压缩的服务器会将文本内容压缩后传送给客户端,由客户端解压。
– 该选项只有服务器支持才能实现
d) Cookie:设置请求头中的cookie值
e) user-agent:设置客户端的识别标志
f) Host: 访问的主机域名,可以指定IP来访问某个特定域名内容
g) Refer:可以设定访问内容的入口页面url,例如是从百度访问的则会带有http://www.baidu.com/…的refer值
h) 限速:为了更加逼真的模拟某些特定用户网络,可以设定该网络访问速度的极限值来作为限速值
3. 结果分析
1) 概要结果
a) 纵向分析:平均速度对比国内的平均下载速度(800kb/s);然后看一下最慢的值和地区
b) 横向对比:和对比网站的结果比较看看差距
2) 详细结果
a) 在概要结果分析基础上,再从横向和纵向对比每个运营商和区域的性能,找出比较差的区域
b) 可以先从柱状图上大概看出哪些区域比较差,或者比对比网站差距大
c) 找出有慢的运营商和区域后需要看详细的指标
3) 详细分析
a) HTTP状态分析:(可参见状态码返回表)
b) 看看解析IP所在地是否与检查点所在地在同一个运营商,如果不是则说明网站部署或者域名解析出现问题,没有给用户返回一个较好的服务IP。
c) 点击“查看”,可以看到请求的详细信息,特别是看看请求头是否跟自己设置的一致,如果不一致需要重新设置后在测试
d) 探测指标分析
- DNS解析时间:横向比较DNS解析时间,如果相比其他网站比较长,那需要看看
域名服务商的服务是否有问题,或者域名服务器响应是否比较慢
看看解析过程是否比其他网站域名要繁琐,比如超过2次cname,用dig命令可以查到
看看DNS返回的超时时间(TTL)是否设置过短,一般为5分钟
- TCP连接时间:同样横向对比,如果相比其他网站或者其他站点连接时间过长,那需要检查服务器的负载、磁盘IO和网络是否出现了瓶颈,如果是的话需要考虑扩容或者做软件优化
- 下载时间:如果这个时间比较长,则跟网络相关,需要进行ping 和traceroute的测试
Ping探测:综合了解网站的链路,定位网络问题
a) 单一链路结果分析
- 延时:如果延时超过50ms,则说明链路状况很差,同时需要看丢包率
- 丢包率:如果延时较长,丢包率较高的话,需要联系当地的运营商或者网站所在的IDC对网络进行检查;如果丢包率很低,延时较长的话则需要进行traceroute探测,看看该区域到服务器间的网络距离是否过长,如果网络距离比较短,则需要联系运营商解决
b) 整体分析
- 首先看看探测运营商区域和服务器所在运营商区域是否一致,如果不在同一个运营商,或者区域相隔较远,需要查看服务器部署和解析是否出现问题
- 通过柱状图可以看出哪些区域到探测服务器比较慢,则需要联系当地的运营商和服务器所在的IDC进行链路检查
TraceRoute探测
- 可以探测url,也可以直接输入IP
- 需要选择指定探测点
- 结果分析
- 首先看看路由跳数,正常的网站到用户端的条数不会超过15,如果超过15需要考虑服务器的重新部署或者解析上的优化
- 查看每条的延时,如果某跳延时超过10ms则需要联系运营商解决