CDN javascript библиотек

Обзор и сравнение хостингов javascript-библиотек

Любой современный сайт использует сторонние разработки и готовые решения. Одним из наиболее часто используемых продуктов являются javascript-библиотеки: jQuery, Prototype, Mootools и другие. Сейчас трудно найти крупный и современный сервис или портал, который бы не использовал один из этих фреймворков. В данной статье я проведу сравнение наиболее популярных в рунете CDN, сетей доставки контента. Сразу оговорюсь, что в российском интернет-пространстве чаще такие сервисы называют хостингом javascript-библиотек.

Зачем это нужно?

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

Далее будут перечислены наиболее известные CDN, а так же рассмотрены их положительные и отрицательные стороны. Для проверки скорости загрузки была выбрана библиотека jQuery 1.6.4 min, браузер Firefox с отключенным кэшированием, для определения времени загрузки, размера файла и параметров сервера – Firebug. Тесты осуществлялись через провайдера в Санкт-Петербурге, в воскресенье 9 октября 2011, с 20.00 до 21.00. Для каждого CDN было совершено десять загрузок, на основе которых высчитано среднее время. Скорость подключения (номинальная 5 Mb/s). Кончено, результаты теста не претендуют на абсолютную точность, но общее впечатление о качестве предоставляемых сервисами услуг он даёт.

API Yandex

http://api.yandex.ru/jslibs/

В последнее время именно здесь я забираю jQuery для своих проектов. В ассортименте все популярные и не очень библиотеки javascript (16 штук, считая jQuery UI), расширения к ним, доступны все версии, начиная со старых, и заканчивая последней стабильной. Сервис полностью устраивает. Из плюсов, стоит отметить:

  1. на родном языке
  2. большое количество библиотек
  3. правильно выбранный и грамотно настроенный сервер, и как следствие:
  4. минимальное время отклика

Google Ajax API CDN

http://code.google.com/intl/ru-RU/apis/libraries/devguide.html

Google показал на удивление неважные результаты, особенно в сравнение со своим главным русским конкурентов. Тех, кто вовсе не понимает по-английски, может отпугнуть отсутствие русскоязычной документации и интерфейса. Время загрузки – долгое. Предлагаемых ресурсов 11 против 16 у яндекса, но зато есть WebFont Loader.

Microsoft CDN

http://www.asp.net/ajaxlibrary/cdn.ashx

Ссылка на CDN от MS идёт второй после гугловской на официальной странице загрузок проекта jQuery. Выбор фреймворков не велик: это основные библиотеки jQuery и ASP.NET. Опять таки все на английском языке. По средней скорости, CDN MS уверенно обошёл конкурентов, благодаря использованию gzip на своём коммерческом сервере IIS.

jquery.com

http://docs.jquery.com/Downloading_jQuery

И наконец исходники на сайте разработчика, хостинг-провайдером которого является Media Temple. Может возник обманчивое впечатление, что раз сайт разработчика, то это и есть наилучший (надёжный/быстрый/удобный) вариант. Не совсем так. Такие гиганты как Yandex, Google, MS – имеют гораздо больше возможностей для обеспечения работы мощной и развёрнутой сети CDN, в то время как разработчик бесплатного фреймворка обладает гораздо более скромными ресурсами – хостинг у обычного провайдера, а не свои сервера по всему миру. Единственное удобство, это пожалуй наиболее короткий путь к файлу, в сравнении с другими CDN. Во время тестов сервер Media Temple пару раз “призадумался”, что в целом плохо отразилось и на среднем значении и на впечатлении вообще.

Резюме

Похоже что Google просто не сумели грамотно настроить свой сервер. Хоть в это и трудно поверить, но статистика говорит об этом. Гигант проигрывает всем остальным подопытным с существенным отрывом. Первое место можно разделить между Yandex и MS, но стоит учесть, что Yandex гораздо удобнее и разнообразнее.

Таб. 1. Сравнение реакций серверов CDN на примере файла jquery-1.6.4.min.js
Сервис Размер файла Время min Время max Время mean Сервер и основные параметры
API Yandex 31.4 KB 63ms 188ms 103.2ms Server lighttpd/1.4.26

Content-Encoding gzip

Content-Type application/x-javascript
Google Ajax API CDN 89.5 KB 390ms 1.25s 720.2ms Server sffe

Content-Type text/javascript; charset=UTF-8
Microsoft CDN 39.9 KB 78ms 172ms 86.8ms Server Microsoft-IIS/7.5

Content-Encoding gzip

Content-Type application/x-javascript
jQuery.com 31.4 KB 125ms 3.17s 465.4ms Server ECS (ams/49BE)

Content-Encoding gzip

Content-Type application/x-javascript; charset=utf-8
Эта запись была опубликована в рубрике Основное и отмечена метками , , , , , , , , , . Добавить в закладки ссылку.

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>