我有一个窗口小部件加载了我们网站的iframe,窗口小部件加载了100多个独特的网站,iframe指向我们网站上托管窗口小部件的页面分析跟踪代码和1-3个事件被解雇。导致服务器问题的Google Analytics(分析)跟踪事件
我的问题是,我们的服务器由于触发事件而收到超高CPU使用率。我通过删除事件来测试这一点,CPU使用率下降到1-2%。我不明白的是服务器为什么会受到影响?
我的想法是Javascript是客户端,事件触发并且一个http请求从客户端发送到谷歌分析服务器?至少这是我认为正在发生的事情。为什么我们的服务器会受到如此严重的影响,导致100%cpu使用率和客户端事件崩溃?
注意:代码是异步加载的。
这是我使用的是标准的跟踪代码:analytics.js的:
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXXXXX-2', 'auto');
ga('send', 'event', 'widget', 'view', 'post',{
dimension2 : 8,
dimension3 : 110,
dimension7 : 1,
dimension5 : 1,
dimension6 : 'somee text here'
}
);
加也许2个事件是这样的一个。
新信息编辑:
尖峰只有在widget被完全加载并生成所有的JavaScript发生。这是因为该小部件具有点击触发的事件。加载锅炉板代码时,CPU使用情况稳定。但是当事件被点击时,点击我们的服务器峰值。
你说得对,GA是eval'd clientside。在面值情况下,您的CPU使用率不应受此影响。或者至少,不是显着的..无论输出几行文本呼叫之间的差异..所以这不能直接关系到你的CPU使用率。事件是否作为单独的内联框输出,每个事件都有一个?我可以看到这将如何更大幅度地影响CPU使用率,因为这是向您的服务器请求输出每个iframe内容的请求。 –
也是,这些ga值来自哪里,例如, 'dimension2'从哪里得到'8'的值?是否有服务器端的逻辑动态输出它(和其他值)?是否有数据库查询涉及获取这些值?因为所有这些也会显着影响服务器的CPU使用率 –
是的,他们只是最小的,我会仔细检查一切,并找回你。可能是某个地方的无限循环。我没有得到任何日志错误.. –