2009-03-16 4 views
1

Я пытаюсь выяснить эффективность использования CDN и хостинг изображений локально. Предполагая, что наша загрузка такова, что показ изображения или файла javascript с того же сервера, на котором размещается HTML-контент, не будет медленнее по сравнению с использованием CDN, в какой момент местность вступает в силу?Имеет ли значение размер файла при выборе сети доставки контента (CDN)?

Мое понимание того, как работает CDN, заключается в том, что один запрос отправляется на основной сайт CDN для файла. Этот сайт только направляет запросы, поэтому он перенаправляет на другой веб-сервер, который (теоретически) ближе к пользователю, делающему запрос.

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

Мой вопрос: есть ли у кого-нибудь какие-либо цифры или статьи относительно того, какой размер файла уменьшает латентность, имеет большое значение и делает очевидным выбор для перехода на CDN?

ответ

3

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

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

От разработчиков раздел помощи Yahoo для YSlow: http://developer.yahoo.com/performance/rules.html#cdn

«Помнить, что 80-90% времени отклика конечного пользователя тратится на загрузку всех компонентов на странице: изображения, таблицы стилей, скрипты, Flash и т. д. Это правило Performance Golden Rule. Вместо того, чтобы начинать с сложной задачи по перепроектированию архитектуры приложений, лучше сначала разогнать статический контент. Это не только позволяет значительно сократить время отклика, но это проще благодаря content deliv в сетях ».

+0

Спасибо за ответ. Печенье - это то, о чем я никогда бы не подумал. – NilObject

1

«в какой момент местность вступает в силу?» Это очень зависит от ваших шаблонов трафика. Возможно, вы принимаете в стране X, и большинство ваших клиентов тоже есть. CDN может оказаться неправильным ответом - вместо этого вам может понадобиться надежный уровень кэширования перед вашим приложением.

CDN могут обеспечить преимущества внутри страны, такие как улучшенная обработка соединений, сокращение соединений/запросов/пропускной способности до вашего источника, оптимизация TCP, защита DDoS, в дополнение к кешированию (о которой вы не упомянули в исходном вопросе). Но все зависит от того, что вы готовы заплатить ...

Чем дальше от ваших клиентов-источников, тем более выражены преимущества, предоставляемые CDN. И это будет одинаково, если файлы маленькие или большие.

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