我有一個窗口小部件加載了我們網站的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使用率 –
是的,他們只是最小的,我會仔細檢查一切,並找回你。可能是某個地方的無限循環。我沒有得到任何日誌錯誤.. –