Быстрее ли связать jquery со своими сценариями или использовать общедоступный cdn?

Я размещаю javascript для своего сайта на Cloudfront. Должен ли я связать jQuery с пакетом или использовать публичный CDN? Меня в первую очередь интересует мобильная производительность.

Преимущество объединения — на один файл сценария меньше для загрузки. Преимущество общедоступного CDN в том, что он, скорее всего, уже находится в кеше пользователя.

Похоже, CDN, который следует выбрать для вероятности наличия в кеше, принадлежит Google (на основе исследования здесь: http://royal.pingdom.com/2012/06/20/jquery-numbers/), но на практике перевешивает ли это наличие на один файл меньше? Если принять во внимание процент сайтов, использующих jQuery (~50%) * процент тех, которые используют CDN Google (25%) * процент тех, кто использует jQuery 1.10.2 (??%), это значительный кусок. моих посетителей будут кэшироваться?


person josh    schedule 27.09.2013    source источник
comment
У CDN есть и другие преимущества, но одно преимущество объединения — на одну зависимость меньше. У меня был хостинг Google, который стал недоступен. Я не думаю, что я еще испытал amazon s3 cdn, чтобы отключиться, но это возможно. Вы пытались сравнить это, чтобы увидеть, какая разница в производительности существует при размещении cdn jquery?   -  person Kai Qing    schedule 28.09.2013
comment
Контролируйте все, что можете. Если ваш сайт находится во внутренней сети, которая может работать без Интернета, он все равно будет работать. Если брать извне то не будет.   -  person Grzegorz    schedule 28.09.2013
comment
Я тоже хочу это знать. Контроль — это хорошо, но на самом деле, как часто эти крупные игроки будут недоступны по сравнению с выигрышем во времени загрузки для большинства ваших новых посетителей, когда они извлекают библиотеки из кеша.   -  person gdbj    schedule 22.12.2016


Ответы (1)


Объединение не рекомендуется, как указано в этой записи в блоге автора разработчики Google Chrome V8.

Рекомендуемое решение — использовать библиотеки с открытым исходным кодом из общедоступной CDN и обслуживать другие файлы отдельно.

Поскольку вас беспокоит мобильная производительность, я бы порекомендовал вам:

  1. Используйте CDN с открытым исходным кодом для ресурсов с открытым исходным кодом.
  2. Используйте лучшее сжатие, так как мобильные сети обычно имеют ограниченную пропускную способность. Небольшие размеры файлов обеспечивают более быструю загрузку.
  3. Эффективно используйте мультиплексирование HTTP/2.
  4. Используйте HTTP/2 Server Push, если это возможно.

PageCDN делает все это за вас. Он может объединять общедоступные библиотеки и частные файлы по одному соединению. Кроме того, он сжимает ресурсы, используя сжатие brotli-11, которое сжимает файлы гораздо сильнее. Он также поддерживает неизменяемое кэширование и HTTP/2 Server Push.

person Hamid Sarfraz    schedule 08.10.2019