2015-08-27 4 views
1

У меня есть виджет, загружающий iframe нашего сайта, виджет загружается на более чем 100 уникальных сайтах, iframe указывает на страницу на нашем сайте, на которой размещен виджет, который также загружает Google аналитический код отслеживания и 1-3 события.События отслеживания Google Analytics, вызывающие проблемы сервера

Моя проблема заключается в том, что наш сервер получает сверхвысокое значение cpu из-за уволенных событий. Я проверил это, удалив события, а использование процессора снизилось до 1-2%. Я не понимаю, почему на сервер влияет вообще?

Мои мысли, что Javascript является клиентской стороной, происходит пожар и запрос HTTP отправляется серверам Google Analytics с клиента? По крайней мере, это то, что я думаю, происходит. Почему на наш сервер так сильно повлияли бы до 100% использования процессора и сбоя для события ga на стороне клиента?

Примечание: код загружается асинхронно.

Это стандартный код отслеживания я использую: 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 более событий, которые похожи на этот.

Новая информация Edit:

Всплеск происходит только после того, как виджет полностью загружен и все Javascript генерируется. Это происходит потому, что у виджета есть события, которые срабатывают при нажатии. Использование процессора является стабильным для загрузки кода котла ga. Но когда событие запускается, нажмите наши серверные всплески.

+0

Вы правы, GA - это клиенты клиента. При номинальной стоимости ваше использование ЦП не должно затрагиваться этим. Или, по крайней мере, не обязательно ... какова бы ни была разница между выводом нескольких дополнительных строк текстовых вызовов .. Таким образом, это не может быть напрямую связано с использованием вашего ЦП. Выводятся ли события как отдельные iframe, по одному для каждого события? Я могу видеть, как это значительно повлияет на использование ЦП, так как это запрос на ваш сервер для вывода каждого iframe-контента. –

+0

также, где находятся значения ga, исходящие из, например, где 'dimension2' получает значение' 8'? Есть ли логика на стороне сервера, динамически выводящая ее (и другие значения)? есть ли запросы к базе данных, связанные с получением этих значений? потому что все это также значительно повлияет на использование сервера cpu. –

+0

Да, но они минимальны, я дважды проверю все и вернусь к вам. Может быть, где-то бесконечный цикл. Я не получаю ошибок журнала. –

ответ

0

Хорошо, кажется, я решил проблему двумя способами.

Первое, прежде чем событие выстреливает вы должны всегда работать:

ga('send', 'pageview'); 

Эта ошибка была обнаружена в виде красного предупреждения в моем Google Analytics панели.

Во-вторых, аналитика google ожидает только строки для событий, поэтому новый код события должен выглядеть так.

//All numbers replaced with strings 
ga('send', 'event', 'widget', 'view', 'post',{ 
    'dimension2' : '8', 
    'dimension3' : '110', 
    'dimension7' : '1', 
    'dimension5' : '1', 
    'dimension6' : 'somee text here' 
}); 

Эта ошибка была обнаружена в моей клиентской стороне консоли, используя analytics_debug.js вместо analytics.js при загрузке котла пластины код га.

Но я до сих пор не знаю, почему мой сервер так сильно повлиял на меня. Может быть, я случайно установил ошибку на заднем конце при внесении этих изменений ...

Смежные вопросы