Google Analytics имеет производительность наверху?

Я думаю, что если кто-то захочет использовать PHP и MySQL или какой-нибудь другой сервер базы данных:

  1. Подумайте об обучении PDO (объекты данных PHP) - это база данных уровень доступа, обеспечивающий единый метод доступа к нескольким базам данных.
  2. Подумайте об обучении MySQLi
  3. Используйте собственные функции PHP, такие как: strip_tags , mysql_real_escape_string или если переменная числовая, просто (int)$foo. Подробнее о типах переменных в PHP читайте здесь . Если вы используете библиотеки, такие как PDO или MySQLi, всегда используйте PDO :: quote () и mysqli_real_escape_string () .

Примеры библиотек:

---- PDO

----- Никакие заполнители - не спешили для SQL-инъекций! Это плохо

$request = $pdoConnection->("INSERT INTO parents (name, addr, city) values ($name, $addr, $city)");

----- Без имени заполнители

$request = $pdoConnection->("INSERT INTO parents (name, addr, city) values (?, ?, ?);

----- Именованные заполнители

$request = $pdoConnection->("INSERT INTO parents (name, addr, city) value (:name, :addr, :city)");

--- MySQLi

$request = $mysqliConnection->prepare('
       SELECT * FROM trainers
       WHERE name = ?
       AND email = ?
       AND last_login > ?');

    $query->bind_param('first_param', 'second_param', $mail, time() - 3600);
    $query->execute();

PS:

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

. Но хотя PDO и MySQLi довольно быстры, MySQLi выполняет незначительную скорость в тестах - ~ 2,5% для незаготовленных отчетов и ~ 6,5% для подготовленных.

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

81
задан Cœur 4 April 2017 в 10:22
поделиться

13 ответов

обновление 2018 года : Где и как Вы монтируете, что Аналитика изменилась много раз и снова. Текущий код gtag.js делает несколько вещей:

  1. Загрузка gtag сценарий, но асинхронный (неблокирование). Это означает, что не замедляет Вашу страницу никаким другим способом, чем пропускная способность и обработка.
  2. Создают массив на странице, названной window.datalayer
  3. , Определяют немного gtag() функция, которая просто продвигает то, что Вы бросаете в него в тот массив.
  4. Вызовы это с pageload событием.

, Как только основной gtag сценарий загружается, он синхронизирует этот массив с Google и контролирует его для изменений. Это - хорошая система и в отличие от предыдущих систем (например, наполняющий код в незадолго до </body>) это означает, что Вы можете события вызова, прежде чем DOM представил, и порядок сценария действительно не имеет значения, пока Вы определяете gtag() сначала.

Но это вовсе не значит нет производительности наверху здесь. Мы все еще используем пропускную способность при загрузке сценария (это кэшируется локально в течение 15 минут), и это не маленькая груда сценариев, которые они бросают в Вас, таким образом, существует некоторое процессорное время, обрабатывая его.

, Но это все незначительно по сравнению с (например), современные frontend платформы.

, Если Вы идете для абсолюта, большая часть возможного веб-сайта сокращения, избегайте его полностью. При попытке защитить конфиденциальность своих пользователей, не используйте сторонние сценарии... Но если мы говорим о среднем современном веб-сайте, существует очень более низкие фрукты зависания, чем gtag.js, если Вы поражаете проблемы производительности.

34
ответ дан Oli 24 November 2019 в 09:43
поделиться

Я не думаю, что это - то, что Ваш поиск, но для чего Вы волнуетесь по поводу производительности?

, Если его Ваш сервер... тогда нет, очевидно, никакого влияния, поскольку это находится на серверах Google.

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

0
ответ дан youdontmeanmuch 24 November 2019 в 09:43
поделиться

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

Однако эта выборка от http://www.ga-experts.com заявления, что это - Миф, что GA замедляет Ваш веб-сайт.

Err, хорошо хорошо, возможно, немного, но we’re, говорящий о миллисекундах. GA работает метками страницы, и любое время, Вы добавляете больше содержания к веб-странице, это увеличит загружающиеся времена. Однако, если Вы примените лучшую практику (добавляющий тег перед эти </body> тег) тогда, то Ваша страница загрузится сначала. Кроме того, примите во внимание, что любая страница, основанный на теге пакет веб-аналитики (который является большинством) будет работать тот же путь

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

отправьте в большем количестве информации, если Вы имеете и ДАННЫЕ, если у Вас есть кто-либо.

1
ответ дан M.N 24 November 2019 в 09:43
поделиться

Ничто значимое.

вызов к Google (включая поиск DNS, загружая JavaScript, если не уже кэшируемый и сами фактические вызовы трассировщика) должны быть сделаны браузером клиента в отдельном потоке к фактической загрузке Вашей страницы. Конечно, поиск DNS будет сделан базовой системой, и не будет к моему знанию, количество как поиск в браузере (браузеры имеют предел на количество потоков запроса, которые они будут использовать на сайт).

Кроме того, браузер загрузит сценарий Google параллельно наряду со всеми другими встроенными ресурсами, таким образом, Вы потенциально получите чрезвычайно небольшое увеличение во время, это берет для загрузки всего в худшем случае (мы говорим в порядке миллисекунд, unnoticable. Если сценарий Google будет загружен в последний раз браузером, или у Вас нет многих внешних ресурсов на Вашей странице, или если внешние ресурсы Вашей страницы будут кэшироваться браузером, или если сценарий Google будет кэшироваться браузером (чрезвычайно вероятно), тогда, то Вы не будете видеть различия. Это просто абсолютно тривиально в целом, тот же эффект как то, чтобы прикреплять дополнительное крошечное изображение на Вашей странице, примерно разговор.

В единственное время это могло бы иметь конкретное значение, то, если у Вас есть некоторое поведение, которые стреляют в onLoad событие (который ожидает внешних ресурсов для загрузки), и , серверы Google вниз/медленный. Последний вряд ли будет часто происходить, но если это имело место тогда, onLoad даже не будет стрелять, пока сценарий не загружается. Можно работать вокруг этого так или иначе при помощи различного, "когда DOM загрузил" события, которые являются обычно более быстро реагирующими, поскольку Вы не должны ожидать своих собственных сценариев/изображений для загрузки этого пути также.

, Если Вы действительно, это волновалось об эффектах на время загрузки страницы, затем взгляните раздел "Net speed" Firebug, который определит количество этого и привлечет Вас симпатичный график. Я поощрил бы Вас делать это для себя так или иначе как, даже если другие люди дадут Вам числа, и сравнивает Вас запрос, он будет полностью отличаться для Вашего собственного сайта.

1
ответ дан Andrzej Doyle 24 November 2019 в 09:43
поделиться

Используйте FireBug и YSlow для проверки на себя. Что Вы обнаружите, однако то, что GA составляет приблизительно 9 КБ в размере (который является на самом деле вполне существенно, для какого это делает) и что это также иногда НЕ загружается очень быстро (для того, какие причины я не знаю, я думаю, что это могли бы быть серверы, "дросселирующие" иногда)

Мы удалили это из-за проблем производительности о нашем , Образцы Ajax , но с другой стороны для нас являющийся крайний быстрый и быстро реагирующий были приоритетом 1, 2 и 3

2
ответ дан Thomas Hansen 24 November 2019 в 09:43
поделиться

Существует нет/минимальный сайт наверху на стороне сервера.

HTML для Google Analytics является тремя строками JavaScript, который Вы помещаете у основания своей веб-страницы. Это - ничто действительно и больше не использует ресурс сервера, чем уведомление об авторском праве.

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

(Примечание: необходимо поместить блок кода аналитики Google у основания любых подаваемых страниц для этого для имения место. Я не знаю то, что происходит, если блок кода помещается наверху Вашего HTML)

3
ответ дан seanyboy 24 November 2019 в 09:43
поделиться

Можно разместить ga.js на серверах без проблем вообще, но идея состоит в том, что пользователям будут кэшировать ga.js от [приблизительно 114] другой сайт, который они, возможно, посетили. Так загрузка ga.js, потому что это настолько популярно, добавляет очень мало служебное во многих случаях (т.е. это уже кэшировалось).

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

, Как только JavaScript был загружен, ga.js действительно связывается с серверами Google, но это - асинхронный процесс.

Hope это помогает.

5
ответ дан Dan Rosenstark 24 November 2019 в 09:43
поделиться

На основе моего собственного опыта это имеет добавляющую Аналитику Google, не изменил время загрузки.

По данным FireBug это загружается в меньше тогда секунде (648 мс в среднем), и согласно так части моего другого теста ~60% - 80% того времени передавали данные с сервера, который, конечно, будет варьироваться от пользователя пользователю.

я preticularly не думаю, что кэширование кода аналитики локально изменит время загрузки очень по вышеупомянутым причинам.

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

5
ответ дан UnkwnTech 24 November 2019 в 09:43
поделиться

Я не сделал никакого воображения, автоматизированного, тестируя или программируемого перемалывания чисел, но с помощью старого доброго Firefox с плагином Firebug и парой переменных JS для сообщения разницы во времени прежде и после того, как весь код GA выполнен, вот то, что я нашел.

Две вещи загружаются:

  1. ga.js является файлом JavaScript, содержащим код. Это - 9 КБ, таким образом, начальная загрузка незначительна, и имя файла не является динамичным, таким образом, это кэшируется после первого запроса.

  2. 35 байтов gif файл с динамическим URL (через строку запроса args), таким образом, это требуют каждый раз. 35 байтов являются незначительной загрузкой также (поджигатель говорит, что мне потребовались 70 мс к dl это).

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

7
ответ дан Rich 24 November 2019 в 09:43
поделиться

Загрузка любого дополнительного JavaScript к Вашей странице собирается увеличить время загрузки с перспективы клиента. Можно повысить качество этого путем загрузки его у основания страницы так, чтобы страница была представлена, даже если GA не загружается. Я постарался бы не кэшироваться, потому что Вы потеряете преимущество клиентского кэша для Вашей страницы. Если клиенту будут кэшировать его от некоторой другой страницы, запрос Вашей страницы будет заполнен от клиента сам. При изменении его для загрузки от сайта, это потребует загрузки, даже если у клиента уже будет код (который вероятен). Добавление задачи к Вашим программным процессам, чтобы не загружать файл из Google кажется неоправданным для того, что может быть ненужной оптимизацией. Было бы трудно протестировать это, так как это будет всегда подавать быстрее локально, но что действительно имеет значение, то, как быстро это работает на Ваших клиентов. Если Вы решаете оценить хранение его локально, удостоверьтесь, что Вы тестируете его от своего домашнего интернет-соединения---не машина, сидящая рядом с сервером в Вашей стойке.

2
ответ дан tvanfosson 24 November 2019 в 09:43
поделиться

Традиционные инструкции от Google о том, как включить ga.js , используют document.write () . Таким образом, даже если браузер каким-то образом асинхронно загружает внешние библиотеки JavaScript до тех пор, пока какой-то код действительно не будет выполнен, document.write () все равно заблокирует загрузку страницы. Более поздние асинхронные инструкции не используют напрямую document.write () , но, возможно, insertBefore также блокирует загрузку страницы?

Однако Google устанавливает max-age до 86 400 секунд (это 1 день, и даже установлено значение public , что также применимо к прокси). Таким образом, поскольку многие сайты загружают один и тот же скрипт Google, JavaScript часто будет извлекаться из кеша. Все еще, даже если ga.js кэширован, просто щелкнув кнопку перезагрузки, браузер часто спрашивает Google о любых изменениях . А затем, как и когда ga.js еще не был кэширован, браузер должен дождаться ответа, прежде чем продолжить:

GET /ga.js HTTP/1.1  
Host: www.google-analytics.com  
...  
If-Modified-Since: Mon, 22 Jun 2009 20:00:33 GMT  
Cache-Control: max-age=0  

HTTP/1.x 304 Not Modified  
Last-Modified: Mon, 22 Jun 2009 20:00:33 GMT  
Date: Sun, 26 Jul 2009 12:08:27 GMT  
Cache-Control: max-age=604800, public  
Server: Golfe  

Обратите внимание, что многие пользователи нажимают кнопку перезагрузки для новостных сайтов, форумов и блогов, которые они уже открыты в окне браузера, из-за чего многие браузеры блокируются до тех пор, пока не будет получен ответ от Google . Как часто вы перезагружаете домашнюю страницу SO? Когда Google Analytics откликается медленно, такие пользователи сразу заметят. (В сети опубликовано множество решений для асинхронной загрузки скрипта ga.js , особенно полезно для таких сайтов, но, возможно, не лучше, чем обновленные инструкции Google. )

После загрузки и выполнения JavaScript фактическая загрузка веб-ошибки (изображения отслеживания) должна быть асинхронной. Итак, загрузка изображения отслеживания не должна блокировать что-либо еще, , если страница не использует body.onload () . В этом случае, если веб-ошибка не загружается вовремя, то нажатие на перезагрузку действительно усугубляет ситуацию, потому что нажатие на перезагрузку также заставляет браузер снова запрашивать скрипт с описанным выше If-Modified-Since . До перезагрузки браузер ждал только веб-ошибку, а после щелчка перезагрузки ему также требовался ответ для сценария ga.js .

Итак, сайты, использующие Google Analytics, не должны использовать body.onload () . Вместо этого следует использовать что-то вроде jQuery ' s $ (document) .ready () или событие domready в MooTools .

См. также обзор функций Google , где объясняется Как работает Google Analytics Собирать данные? , включая Как работает код отслеживания . (Это также означает, что Google собирает содержимое основных файлов cookie. То есть файлы cookie с сайта, который вы посещаете.)


Обновление: в декабре 2009 г. , Google выпустил асинхронная версия . Вышеизложенное должно подсказать всем, что нужно выполнить обновление на всякий случай, хотя обновление не решает всего .

включая Как работает код отслеживания . (Это также означает, что Google собирает содержимое основных файлов cookie. То есть файлы cookie с сайта, который вы посещаете.)


Обновление: в декабре 2009 г. , Google выпустил асинхронная версия . Вышеизложенное должно подсказать всем, что нужно выполнить обновление на всякий случай, хотя обновление не решает всего .

включая Как работает код отслеживания . (Это также означает, что Google собирает содержимое основных файлов cookie. То есть файлов cookie с сайта, который вы посещаете.)


Обновление: в декабре 2009 г. , Google выпустил асинхронная версия . Вышеизложенное должно подсказать всем, что нужно выполнить обновление на всякий случай, хотя обновление не решает всего .

3
ответ дан 24 November 2019 в 09:43
поделиться

Вопрос был в том, вызовет ли Google Analytics замедление работы вашего сайта, и ответ положительный. Прямо сейчас на момент написания этого Google-Analytics.com не работает, поэтому сайты, у которых есть это на своих страницах, не будут загружать страницы, так что да, это может замедлиться и привести к тому, что ваш сайт даже не загрузится. Google-analytics.com не работает так долго, что сейчас составляет более 10 минут, но это просто показывает, что это возможно.

0
ответ дан 24 November 2019 в 09:43
поделиться
Другие вопросы по тегам:

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