аналитика Google делает главный эффект вовремя для загрузки статической веб-страницы?

18
задан Yahel 13 November 2010 в 15:18
поделиться

15 ответов

Будет появление или производительность моего веб-сайта быть затронутым Google Analytics?

появление Вашего веб-сайта никогда не будет затрагиваться Вашим использованием Google Analytics - мы не помещаем изображений или текста на Ваших страницах. Аналогично, на производительность Ваших страниц не повлияют за возможным исключением самой первой загрузки страницы после добавления кода отслеживания. Это сначала pageview называет JavaScript на серверах Google, которые могут взять немного дольше, чем регулярная загрузка страницы. Последующие просмотры страниц будут использовать кэшированные данные и не будут затронуты .

важно отметить, что много веб-сайтов в Интернете используют тот же JavaScript от того же местоположения на серверах Google, поэтому только редко будет новый пользователь приезжать в Ваш сайт, уже не кэшируя тот файл локально.

22
ответ дан 30 November 2019 в 06:17
поделиться

Несмотря на то, что загрузка и запуск самого ga.js быстрая, я заметил, что по всей Европе, на разных подключениях / компьютерах / ОС / браузерах, это ОСНОВНОЕ отставание (от 0 до 30 ( тридцать ) секунд) между последним байтом HTTP-запроса и первым байтом HTTP-ответа.

Это понятно, учитывая огромную популярность GA, но это происходит до запуска window.onload. Таким образом, если ваша страница использует JS и ваши пользователи сталкиваются с этой задержкой, они не собираются анализировать, какой компонент отвечает за это, - они предположят, что ваш сайт ужасно медленный.

Обходным путем для этого является регистрация window.onload. функция, которая добавит скрипт GA. Пример (для простоты используем « window.onload = function () »:

window.onload = function() {
    var gaJsHost = (("https:" == document.location.protocol) 
                      ? "https://ssl." 
                      : "http://www.");
    var s = document.createElement('script');
    s.src = gaJsHost + "google-analytics.com/ga.js";
    s.type='text/javascript';
    var bodies = document.getElementsByTagName('body');
    if (bodies.length > 0) {
        bodies[0].appendChild(s);
    } else { // this should never happen, but sometimes does (curse you IE6!)
        document.appendChild(s);
    }

    // this says 100ms, but won't happen until ga.js is loaded
    window.setTimeout(function(){
        if (window['_gat']) {
            var pageTracker = _gat._getTracker("UA-xxxxxx-x");
            pageTracker._trackPageview();
        }
    },100);
}
0
ответ дан 30 November 2019 в 06:17
поделиться

Фактически демонстрация кода для этой работы на C слишком сложна для поста SO. Но объяснить основную концепцию выполнимо.

То, что вы действительно создаете здесь, это система шаблонных пакетов свойств. Единственное, что вам понадобится для продолжения работы, - это некоторая ассоциативная структура, такая как хеш-таблица. Я бы сказал, пойти с std :: map, но вы упомянули, что это было решение только для Си. Ради обсуждения я просто собираюсь предположить, что у вас есть какая-то хеш-таблица.

Вызов «create_struct» должен будет возвращать структуру, которая содержит указатель на хеш-таблицу, что делает const char * практически равным size_t. Эта карта определяет, что вам нужно для создания нового экземпляра структуры.

"страх" Метод по существу создаст новую хеш-таблицу с таким же количеством членов, что и у хеш-таблицы шаблона. Давайте на секунду выбросим ленивое измышление и предположим, что вы создали всех участников заранее. Метод должен будет зацикливаться на хеш-таблице шаблона, добавляя элемент для каждой записи и malloc'ing кусок памяти указанного размера.

Реализация instance_get_member просто сделает поиск по карте по имени. Хотя подпись и модель использования должны будут измениться. C не поддерживает шаблоны и должен выбрать общий тип возврата, который может представлять все данные. В этом случае вам нужно будет выбрать void * , поскольку именно так будет необходимо хранить память.

0
ответ дан 30 November 2019 в 06:17
поделиться

Относительно загрузки сервера сценарии вытягивают с серверов Google, не Ваших, таким образом, не будет никакого значимого серверного влияния. Очевидно, Ваши страницы все будут немного больше, чем они были без кода для загрузки JavaScript, но Вы никогда не будете замечать различия.

0
ответ дан 30 November 2019 в 06:17
поделиться

Лично я действительно не вижу, что была бы большая часть различия вообще, Ваш браузер будет кэшировать ее после первого запроса и использовать ее там после друг на друге страница.

сценарий загружается в самом конце страницы также, таким образом, все остальное должно уже быть загружено.

0
ответ дан 30 November 2019 в 06:17
поделиться

Отметьте также, что я видел, что GA загружает немного файла GIF хешем, присоединенным к нему..., но я сомневаюсь, что размер этого будет иметь большую часть влияния на производительности.

0
ответ дан 30 November 2019 в 06:17
поделиться

Иногда я испытываю задержки на страницах, которые используют его. Я могу отследить проблему к GA, так как это - единственный сценарий, ожидающий, чтобы быть загруженным. Я знаю, что этого не должно происходить, но с некоторой страницей запрашивает, чтобы она сделала скорее случайным образом. Не то, чтобы это обычно имеет значение, так как целая страница уже загружается так, можно начать читать. Но это становится небольшой проблемой со страницами, которые используют ajax или обычно наполняют на документе готовое событие. Таким образом, я добавляю его к своим фильтрам adlock.

1
ответ дан 30 November 2019 в 06:17
поделиться

Опыт пользователя определенно замедлен GA на медленном соединении.

1
ответ дан 30 November 2019 в 06:17
поделиться
1
ответ дан 30 November 2019 в 06:17
поделиться

Даже при помещении Кода аналитики в нижней части кода с пользовательской точки зрения, которую не загрузился сайт, пока небольшая синяя панель внизу не ушла.

Это означает, что Ваш сайт будет 'чувствовать себя' медленнее, в зависимости от (неожиданное удивление), насколько отстающий Ваше пользовательское соединение. Для Пользователей удаленного доступа и пользователей, получающих доступ к Вашим веб-сайтам из-за границы (где задержка запроса является более высоким беспокойством), дополнительный запрос будет определенно означать немного меньше быстро реагирующего веб-сайта.

Однако, учитывая, что каждое изображение, каждый файл JavaScript и любой другой внедренный объект являются дополнительным запросом, если Вы уже используете богатое расположение веб-сайта, это не причина не использовать аналитику.

2
ответ дан 30 November 2019 в 06:17
поделиться

Да.

я чувствую, что скорость просмотра намного лучше, так как я добавил аналитику Google к фильтру addblock.

6
ответ дан 30 November 2019 в 06:17
поделиться

Нет.

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

ga.js 9.58k, и регистрирующийся вызов о 1.2k. js будет кэшироваться после первой загрузки (я предполагаю даже через сайты?), таким образом, это - действительно незначительный мудрый размер.

5
ответ дан 30 November 2019 в 06:17
поделиться

Да этому действительно поражали производительность, см. http://dotnetperls.com/Content/Google-Analytics-Speed.aspx . Ускорять его рекомендуемый, что Вы загружаете ga.js файл локально и вызов что вместо этого, Объясненный здесь http://www.askapache.com/javascript/google-analytics-speed-tips.html .

7
ответ дан 30 November 2019 в 06:17
поделиться

Помните, что не каждый пользователь был быстро американо-базирующимся соединения.

, Если Вы находитесь на медленном соединении из страны за пределами США, различие является, конечно, заметным.

Люди, выполняющие более медленные компьютеры или браузеры вне нормы (т.е. старые версии, мобильные телефоны и т.д.), могут все быть затронуты временем выполнения JavaScript.

1
ответ дан 30 November 2019 в 06:17
поделиться

Редактирование: Google выпустил Асинхронное Отслеживание . Я еще не попробовал его, но я предполагаю, что это решает упомянутые ниже проблемы.

я думаю, что Google Analytics может сделать веб-сайт медленнее, потому что он делает happe, который ga.js берет noticably долго для загрузки, и это может вызвать некоторые проблемы:

  • , Если у Вас есть JavaScript, который включает window.onload (который включает старый синтаксис школы <body onload="">), затем он огонь привычки до веб-страницы имеет загрузку complety. Используя что-то как готовое событие jQuery могло бы исправить это, все же.

  • Большинство браузеров не заполняет имена и пароли сохраненного пользователя, пока веб-страница не загрузилась полностью.

  • для среднего пользователя не легко определить это, веб-страница просто ожидает сценария Аналитики для загрузки, таким образом, они могли бы ожидать небольшой анимации загрузки для окончания даже при том, что страница по существу закончила загружать.

  • Вы могли следовать за предложением niallbrowne загрузки ga.js и обслуживания от Вашего собственного веб-сервера. Но это должно быть последним средством, так как ga.js кэшируется через веб-сайты и только истекает один раз в неделю.

7
ответ дан 30 November 2019 в 06:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: