Назад | Перейти на главную страницу

Что я могу сделать, чтобы снизить стоимость полосы пропускания на сайте с высокой пропускной способностью?

Самый простой ответ - CDN, но я бы хотел спросить. У моего друга есть сервер, который используется для зеркальных загрузок. Он говорит, что использует около 10 ТБ полосы пропускания в месяц, что меня шокировало (интересно, лжет ли он).

Я видел его сайт, но на нем нет рекламы. Я подозреваю, что он может закрыть свой веб-сайт, как только получит счет. В любом случае мне было интересно, так как его ЦП / ОЗУ не используются, а его использование HD составляет около 15 ГБ, что он может сделать для снижения затрат, если он продолжит этот сайт. Я сказал размещать рекламу, но я не знаю, покроет ли это реклама. Я нашел один CDN, который предлагает 0,070 доллара за ГБ. 10240 ГБ (10 ТБ) * 0,07 = 717 долларов в месяц. Это кажется немного крутым, но он использует много трафика из-за того, что это зеркальный сайт.

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

Что он может сделать? В настоящий момент он платит 200 долларов в месяц за выделенный сервер и использует НАМНОГО большую пропускную способность, чем следовало бы.

Дополнительный вопрос: могут ли помочь файлы gz-ing большого размера, уже сжатые? как на (zip, rars и т. д.)

Двойное сжатие файла не приведет к его уменьшению (1). Человек, скачивающий файл, может не знать, что вы хотели сжать его еще дважды - представьте, как его развлекает необходимость дважды распаковать его.

Поскольку вы зеркалируете контент, я не рекомендую повторно сжимать все файлы в другой формат. Однако, если у вас есть собственный контент, это вариант. Возьмите все, сожмите в разные форматы и просто выберите самый маленький размер. Различные типы файлов могут работать лучше при использовании разных алгоритмов, например, zip vs 7z.

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

Если размер файлов всего 15 ГБ, но вы просто много их переносите - вы можете создать свой собственный CDN. Установите несколько дешевых хостов на разных платформах, выполните синхронизацию файлов, а затем пусть один веб-сайт выберет ближайшее зеркало. Большинство общих хостов предоставляют вам достаточно места и, вероятно, могут обрабатывать 1 ТБ / мес при 5-10 долл. США / мес.

Не настоящий "CDN", но он определенно дешевле 700 долларов.


(1) Попробуйте взять большой файл и дважды сжать его, он должен отличаться только на +/- 0-1%. Я сам только что пробовал это на двух файлах, и один был примерно на 300 КБ меньше на 165 МБ.

Я позабочусь о том, чтобы сервер поддерживал Ассортимент Заголовок HTTP-запроса. И что кеширование браузера разрешено сервером (см. http://www.mnot.net/cache_docs/#TIPS). Используйте сжатие gzip и / или deflate для содержимого, которое еще не сжато (например, текстовые файлы, html, css)

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

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

  • Действительно ли файлы необходимы? Например, действительно ли люди, которые их скачивают, ищут полный файл? Есть ли случаи, когда они загружают zip-файл только для того, чтобы просмотреть один небольшой фрагмент содержимого внутри?
  • Есть ли альтернатива их скачиванию? Можно ли в браузере предоставить предварительный просмотр или средство просмотра, устраняющее необходимость загрузки файлов?
  • Можете ли вы использовать BitTorrent для размещения файлов? Ваш сервер может заполнять его, но чем больше людей загружают / загружают, тем меньше трафика вам придется обрабатывать.

Что касается оптимизации самого сайта:

  • убедитесь, что статический контент (изображения, javascript, css) имеет соответствующие заголовки кеша (которые гарантируют, что браузеры не будут постоянно повторно загружать их)
  • То же самое касается статического HTML и даже динамического HTML, если содержимое не меняется.
  • Сократите свои css, js и html.
  • Убедитесь, что ваши файлы разделены должным образом (например, не включайте css / js непосредственно в файлы HTML, особенно если HTML является динамическим).
  • Использовать YSlow чтобы проверить все вышеперечисленное и указать на дополнительные оптимизации

Как говорит @databyte, сжатие чего-то (gzip), которое уже сжато, не поможет.

CDN предназначены в первую очередь для разгрузки обработки статического контента и повышения производительности вашего сайта. Они делают это частично, уменьшая нагрузку и позволяя вашему серверу сконцентрироваться на обслуживании динамического контента (хотя похоже, что нагрузка для вас не проблема). Они также размещают серверы в очень быстрых сетях и размещают их у интернет-провайдеров. Причина в том, чтобы сделать скорость как можно более высокой, а задержку - как можно более низкой. Если конечный пользователь получает доступ к контенту из CDN, и контент обслуживается непосредственно из POP их интернет-провайдеров, это самый короткий из возможных путей: он проходит полностью через гигабитную сеть в POP, а затем напрямую к пользователю - ничто никогда не проходит через фактический «Интернет».