加快Google Analytics(分析)

加快Google Analytics(分析)

此方法使用crontab来执行一个shell脚本,每24小时下载一个更新的urchin.js文件,并将其保存到本地站点目录中。 而已!

当google-analytics.com/urchin.js被世界各地的数十亿网络用户请求时,会出现此问题,可能会导致您的网站页面以蜗牛的速度加载。 特别是如果您使用的是WordPress或类似的CMS。

官方Google职位在本地托管urchin.js

通过键入设置crontab

crontab -e

在unix样式的命令提示符(ssh),然后添加:

11 12 * * * /home/user/websites/urch.sh >/dev/null 2>&1

Shell脚本示例:

#!/bin/sh
rm /home/user/websites/askapache.com/z/j/urchin.js
cd /home/user/websites/askapache.com/z/j/
wget http://www.google-analytics.com/urchin.js
chmod 644 /home/user/websites/askapache.com/z/j/urchin.js
cd ${OLDPWD}
exit 0;

通过在本地托管urchin.js可以完成两项相当重要的事情:

  1. 启用持久连接
  2. 您确保将正确的304未修改标题发送回您的站点访问者,而不是保留整个文件。

远程托管的urchin.js的一个问题是提供urchin.js文件的服务器不允许持久连接。

另一个大的原因是,即使在服务urchin.js时,Google Analytics(分析)正确设置了Cache-Control标头,而不是使用304 Not Modified标头正确地响应If-Modified-Since头,表示该文件未被修改后,google-analytics会再次返回整个urchin.js文件,从而使缓存控制无效。

你可以用wirehark 捕获来清楚地看到这个问题。

GET /urchin.js HTTP/1.1
Accept: */*
Referer: http://www.askapache.com
Accept-Language: en-us
UA-CPU: x86
Accept-Encoding: gzip, deflate
If-Modified-Since: Tue, 20 Mar 2007 22:49:11 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SU 2.011; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Alexa Toolbar; .NET CLR 3.0.04506.30)
Host: www.google-analytics.com
Connection: Keep-Alive

HTTP/1.1 200 OK
Cache-Control: max-age=604800, public
Content-Type: text/javascript
Last-Modified: Tue, 20 Mar 2007 22:54:02 GMT
Content-Encoding: gzip
Server: ucfe
Content-Length: 5675
Date: Sat, 24 Mar 2007 18:23:12 GMT

注意:您的服务器需要一个缓存方案才能获得最佳效果。

相当甜蜜的一点点杀人!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏