Файловое хранилище. Как эффективно отдавать файлы на скачивание?

12
hoolz
На сайте с 04.07.2012
Offline
80
1436

Доброго времени суток.

Есть файловое хранилище, средний размер файлов ~270 Mb. В сутки около 1000 скачиваний, в ближайшее время ожидается рост до ~2000.

В данный момент: я имею самый простой VPS на IpServer (трафик 1Gbps Premium (200Mbps guaranteed)) с установленным nginx. Файлы скачиваются по прямой ссылке.

Пока что всё устраивает, скорость с Москвы около 10Мб/сек, но вечером в пик чуть спадает до 8 Мб/сек.

Задача: достичь максимально допустимой скорости для людей из СНГ. Чтобы как можно больше людей скачивали файлы с наивысшей скоростью своего интернета.

Посоветуйте пожалуйста, что можно улучшить в моём случае?

S
На сайте с 23.05.2004
Offline
294
#1

Selectel + CDN как вариант.

Я знаю, что селектел многие ругают. Но в моем опыте проблем не видел. Контент - видео + фото.

Это просто мой личный сайт (https://phpdevs.com/) в моей подписи.
tmatm
На сайте с 22.04.2006
Offline
175
#2

Можно взять ещё второй аналогичный VPS. Сделать на него копию первого VPS. И в ДНС для домена, с которого идёт скачивание прописать 2 записи A. Примерно половина пользователей будет качать с первого VPS, половина - со второго. Также можно добавить третий, четвёртый, пятый VPS. Но после 5 VPS надо будет смотреть уже в сторону других схем.

Optimizator.Ru (http://optimizator.ru/) — регистрация и продление доменов в RU-CENTER и REG.RU: RU, РФ от 150 р.; MSK.RU, SPB.RU и др. 168 р. + REG.RU (https://reg.optimizator.ru/) Отзывы о нашем сервисе (/ru/forum/970147). | Освобождающиеся домены от 150 р. (http://optimizator.ru/backorder/)
e_v_medvedev
На сайте с 07.03.2013
Offline
183
#3
hoolz:
Доброго времени суток.
Есть файловое хранилище, средний размер файлов ~270 Mb. В сутки около 1000 скачиваний, в ближайшее время ожидается рост до ~2000.

В данный момент: я имею самый простой VPS на IpServer (трафик 1Gbps Premium (200Mbps guaranteed)) с установленным nginx. Файлы скачиваются по прямой ссылке.
Пока что всё устраивает, скорость с Москвы около 10Мб/сек, но вечером в пик чуть спадает до 8 Мб/сек.

Задача: достичь максимально допустимой скорости для людей из СНГ. Чтобы как можно больше людей скачивали файлы с наивысшей скоростью своего интернета.

Посоветуйте пожалуйста, что можно улучшить в моём случае?

Многое зависит от географии пользователей. Если все достаточно локально, то стоит поискать сервера ближе к пользователю и тогда вариант с распределением пользователей по серверам через DNS, как предлагает tmatm . Если пользователи размазаны по всему миру, то тогда надо смотреть в сторону CDN. Причем CDN тоже надо подбирать с серверами, максимально близкими к пользователям.

smartceo.ru (https://smartceo.ru) (методология интернет-торговли, портфолио, онлайн сервисы)
FoxCloud
На сайте с 08.11.2016
Offline
62
#4

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

FoxCloud (http://ru.foxcloud.net/)размещение в Европе / Америке / России. Услуги для любого проекта.
hoolz
На сайте с 04.07.2012
Offline
80
#5

Спасибо всем, кто ответил. В сторону CDN пока думать не буду тогда, ибо интересно только СНГ.

tmatm:
Можно взять ещё второй аналогичный VPS. Сделать на него копию первого VPS. И в ДНС для домена, с которого идёт скачивание прописать 2 записи A. Примерно половина пользователей будет качать с первого VPS, половина - со второго. Также можно добавить третий, четвёртый, пятый VPS. Но после 5 VPS надо будет смотреть уже в сторону других схем.

Вот это прямо то, что нужно! Спасибо большое :)

suffix
На сайте с 26.08.2010
Offline
278
#6
tmatm:
Можно взять ещё второй аналогичный VPS. Сделать на него копию первого VPS. И в ДНС для домена, с которого идёт скачивание прописать 2 записи A. Примерно половина пользователей будет качать с первого VPS, половина - со второго. Также можно добавить третий, четвёртый, пятый VPS. Но после 5 VPS надо будет смотреть уже в сторону других схем.

round robin в данном случае (отдача файлов) мне кажется не будет давать "примерно половина пользователей". Вернее выбрать платный dns хостинг с услугой load balancing

Клуб любителей хрюш (https://www.babai.ru)
hoolz
На сайте с 04.07.2012
Offline
80
#7

А если пользоваться способом "Round Robin" (несколько IP в DNS), стоит ли брать сервера в разных локациях? Допустим, первый сервер в России, второй в Казахстане, например.

Mik Foxi
На сайте с 02.03.2011
Offline
930
#8

hoolz, раунд робин фигня, последние годы он ведет себя совсем не так как задумано часто и на 2 примерно равно делить он не будет.

Лучше регулировать ссылки или редирект на разные сабы (разные сервера) в зависимости от гео и нагрузки.

Антибот защита сайта от накрутки поведенческих, от спама, взлома и поиска xss, от хит и клик ботов, от парсинга и кражи контента, снижение нагрузки на сервер - https://antibot.cloud/ Вам все еще конкуренты генерят отказы?
tmatm
На сайте с 22.04.2006
Offline
175
#9
foxi:
hoolz, раунд робин фигня, последние годы он ведет себя совсем не так как задумано часто и на 2 примерно равно делить он не будет.

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

AS
На сайте с 29.03.2019
Offline
10
#10

У меня вопрос немного отличается, но в тему.

Если сервер с 2 hdd (по 2 тб) в raid1 и каналом 100 мбит заполнить на 80% mp4 файлами, сможет ли этот сервер нормально отдавать файлы? Большая часть файлов будет лежать мертвым грузом, одновременных подключений не больше 20-ти.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий