如何加快Google adsense和分析加载时间?

时间:2009-02-15 21:53:17

标签: asp.net asp.net-mvc optimization performance

这可能属于“你做不到”的范畴,但我认为至少看看我能做些什么可能是谨慎的。

根据FireBug,我的页面加载时间的主要瓶颈似乎是加载HTML和加载Google adsense和分析之间的差距。请注意,在下面的屏幕截图中,初始GET只需要214毫秒,而adsense +分析加载大约需要130毫秒。但是,由于初始GET和adsense / analytics加载之间存在较大的暂停,整个页面加载时间为1.12秒。

如果它完全没有任何区别,那么该站点正在运行ASP.NET MVC RC1堆栈。

alt text http://kevinwilliampang.com/pics/firebug.jpg

更新:删除adsense和分析后,我仍然看到响应时间很慢。将鼠标悬停在初始GET请求上,我看到以下速度:96ms接收数据,736ms DOMContentLoaded(事件),778ms'加载'(事件)。我猜测性能是我自己的jQuery javascript的结果,它的处理与($ document).ready()事件有关吗?

6 个答案:

答案 0 :(得分:4)

您应该将分析代码放在页面底部,以便首先加载其他所有内容。除此之外,我认为你无能为力。

编辑:实际上,我刚刚通过托管您自己的urchin.js文件找到了有趣的blog post加速分析的方法。也许值得一看。

答案 1 :(得分:1)

我从来没有在Stack Overflow上使用Firebug看过类似的东西,我们也使用Google Analytics。

我只是跑了一下,我看到了

的请求

http://www.google-analytics.com/__utm.gif?...

直接在 DOMContentLoaded事件(蓝线)之后发生。所以我首先怀疑AdSense。你试过禁用吗?

答案 2 :(得分:1)

事实上,本周我恰好对此进行了大量研究。长话短说,被搞砸了。正如其他人所说的那样,你能做的最好就是将它放在请求列表的底部,并使其余的代码依赖于ready而不是onload事件 - jQuery在这里真的很棒。 js的某些部分是静态的,因此如果你为了维护目的而密切注意它,你可以在本地克隆它。

谷歌代码并没有像在这个领域那样有用*,但这是他们的球赛,你所做的任何改变都将是复杂和危险的。从理论上讲,在标题中使用非阻塞脚本调用进行包装是可能的,但是在给定额外抽象的情况下不太可能为您带来好处,并且最终使用adsense,您的有效负载是html源,而不是脚本。

*谷歌有可能有充分的理由,但我无法从他们公开的代码中推断出

答案 3 :(得分:0)

除了把那些包括在关闭身体标签之前,如果你还没有,你可能做的事情可能没有。 JavaScript包括块并行HTTP请求,这就是为什么它们应该不在<head>

之内

答案 4 :(得分:0)

鉴于您的ISP和大多数ISP也会拥有文件的本地缓存,Google的服务器肯定是加载速度最快的部分吗?

你可以在页面加载时将脚本注入头部,但我不确定urchin.js的效果如何。

答案 5 :(得分:0)

可能是您的网页需要花费很长时间才能解析?似乎没有与网络相关的事情发生。在adsense / analytics请求被解雇之前,它只需等待一秒钟。 我不认为你在页面上有几百张桌子或什么? ;)