Лучшая производительность для хранения статических файлов (изображения, CSS, JavaScript) - CDN - BlobStorage или WebRole - PullRequest
3 голосов
/ 01 марта 2012

У меня есть очень простой вопрос о CDN - BlobStorage и WebRole, а также о производительности.

У меня очень простой веб-сайт со статическим контентом, HTML, Js, изображениями, CSS и видео (полностью могу я3-5МБ всего контента, если пользователи посещают весь сайт).Трафик моего веб-сайта будет на 98% из Великобритании, и я планирую, что в день будет максимум 500 000 уникальных посетителей.

Мой вопрос касается производительности.

Вы бы порекомендовали мне включитьCDN в моей сети?Получу ли я от этого пользу?Есть ли польза от использования CDN, даже если мой трафик идет "в основном" из Великобритании?кэшируется ли содержимое CDN на прокси-серверах интернет-провайдеров (например, BT)?

Вы бы порекомендовали мне разместить изображения, видео и т. д. в учетной записи хранилища больших двоичных объектов и указывать в ней абсолютный URL-адрес из роли в Интернете?Есть ли разница в производительности между размещением статического файла в BLOB-объекте (возможно, включение CDN в учетной записи хранения?) или просто размещением статического файла в веб-роли?

Я не нашел много ссылокв сети, но я полагаю, что веб-роль, CDN и хранилище, используют разные диски / уровни кэша / сетевые уровни, и это должно влиять на производительность.

Ответы [ 2 ]

10 голосов
/ 01 марта 2012

Размещение статического содержимого в хранилище BLOB-объектов (или CDN) значительно снижает нагрузку на экземпляры веб-ролей (в частности, IIS).Это сократит использование процессора и памяти, а также общую пропускную способность в и из ваших веб-экземпляров.Еще одна деталь: большинство браузеров настроены для (я полагаю) двух одновременных подключений к данному домену.Перемещение статического контента в Blob или CDN дает вам дополнительный домен и немного больше параллелизма в вашем браузере в отношении загрузки контента.

Вы можете использовать CDN, если хотите, но лучше использовать CDN нечасто.изменение контента (так как вы не можете принудительно истечь срок действия контента).Итак, если у вас есть CSS, фоновые изображения и т. Д., Которые меняются не слишком часто, это отличные кандидаты на CDN.Если это HTML-файл первой страницы, меняющийся ежедневно, я бы пропустил CDN для этого.

Что касается преимуществ прямого попадания в центр обработки данных: доступ к CDN не обязательно является ближайшим узлом географически;это основано на ряде факторов.Тем не менее, в регионе EMEA есть несколько узлов CDN (см. Полный список здесь ).Вы всегда можете добавить CDN позже, но переход на хранилище больших двоичных объектов окажет положительное влияние на производительность вашего приложения, даже без CDN.

EDIT : есть еще одно преимущество хранения статического содержимогов Blobs против объединения с вашим развертыванием: вы можете очень легко обновить отдельные файлы без необходимости перестраивать / повторно развертывать весь пакет развертывания.

1 голос
/ 01 марта 2012

Единственное, о чем я могу думать, это то, что при использовании роли CDN у вас могут быть лучшие заголовки для изображений (Cache-Control, Expires), чтобы браузер и прокси-серверы могли длительное время кэшировать эти изображения, а если вы показывайте эти изображения с вашего основного сайта, за который вы отвечаете за управление заголовками этих ресурсов.

Также поможет обслуживание изображений из другого домена, поскольку весь запрос к ресурсам, размещенным на CDN (другое доменное имя, не используют домены 3-го уровня), не будет содержать файлы cookie и заголовки аутентификации, необходимые для основного сайта.

...