Привет. Вопрос по серверам имеется, прошу совета. На проекте ожидается большое

кол-во видео файлов на хранении у сервера.
также нужно обеспечить высокую скорость загрузки видео на сервер и чтениях их с сервера на клиенте.
Если я правильно понимаю тут важна ширина моего канала и скорость записи и чтения данных на диске.
Поэтому выбор пал на NVMe + 400 Мбит/с канал. - поравьте если тут что-то не так.

Но есть проблема с тем, что одно видео в среднем весит около 200 МБ
В день пользователи могут загрузить 100 таких файлов.
Получается NVMe на 200ГБ будет забит за 10 дней. Следовательно это тупо так делать изначально.
Вопрос куда мне перетащить хранение файлов, чтобы не потерять скорость загрузки?

15 ответов

6 просмотров

а если рассмотреть сторонние сервисы (по типу облак)?

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

Dmitry-Goncharenko Автор вопроса
inzanty
а если рассмотреть сторонние сервисы (по типу обла...

тогда вопрос: куда пользователь загружает свой файл? Сразу на облако или сначала на NVMe сервер, а потом этот сервер уже передаёт файл в облако на хранение

Dmitry-Goncharenko Автор вопроса
The Ant 🐜
просто грузи на HDD, побольше оперативной памяти. ...

а имеет смысл серверную логику хранить на NVMe?

Dmitry Goncharenko
а имеет смысл серверную логику хранить на NVMe?

что такое серверная логика? если скриптовый код программы - да имеет. И бд на быстрых дисках надо тоже.

У нас реализовано так - пользователь или редактор загружает статику - она складируется на одном сервере (так сказать - в админке) Если файл только загружен - доступ к нему возможен только с этого сервера. И об этом знают фронтенды. И дальше возможны два варианта: 1. Статика доступна по другому доменному имени. В этом случае фронтенд всегда знает, что с этого доменного имени файл надо брать с админки. Плюс, сам файл оседает в кеше фронтенда, чтобы каждый раз не лазить в админку за ним, а отдавать от себя. Когда у бэкенда дойдут руки переложить файл в долговременное хранилище - бэкенд переписывает в генерящихся страницах ссылки на файл (меняет доменное имя) и статика отдается из долговременного хранилища (также оседая в кеше фронтенда, если вдруг она станет горячей) 2. Банальный try_files. Фронтенд всегда опрашивает долговременное хранилище на наличие файла. Хранилка использует try_files - если у нее нет файла - проксит запрос в админку на его получение, отдает фронту и кладет себе в кеш на случай, если за файлом придет второй фронт или кэш заэкспайрится. Это работает до тех пор, пока админка не соизволит доставить файл в хранилище - в этом случае try_files будет отдавать файл уже из хранилища

Dmitry-Goncharenko Автор вопроса
Yuri
У нас реализовано так - пользователь или редактор ...

прикольно, кстати да, надо просмотренные видео хранить на клиенте, чтобы он каждый раз их не запрашивал на сервере заново

Dmitry-Goncharenko Автор вопроса
Yuri
У нас реализовано так - пользователь или редактор ...

А как сделали перенос файлов? Очередь какая-то или крон бегает?

Dmitry Goncharenko
А как сделали перенос файлов? Очередь какая-то или...

rsync банальный 🙂 Либо он сам по крону, либо (если вариант 1) запускается бэкендом на каждый файл, чтобы при успешном синке поменять ссылку на файл в бд

The Ant 🐜
просто грузи на HDD, побольше оперативной памяти. ...

это про скачку файлов или видео по запросу? если это про второе, то интересно услышать какое было использовано хранилище.

User
это про скачку файлов или видео по запросу? если ...

обычные выделенные сервера. например ovh

The Ant 🐜
4tb

в рейде?

Похожие вопросы

Обсуждают сегодня

Всем привет, есть таблица компонентов (например материнка, процессор, видеокарта и тд) components и нужно еще реализовать механизм "совместимости" (те какой-то словарь, мол од...
Vladimir
2
Hello, I want to ask. I trained EfficientNet V2 Small and achieved 98% accuracy and F1 score on test data. I did the same with a simple CNN and achieved 97% accuracy and F1 sc...
~
2
Can you please upvote this work? https://www.kaggle.com/code/melissamonfared/mental-health-music-relationship-analysis-eda
məł
1
Может кто подсказать какие требования к изображениям для обучения Yolo v8? Как то разрешение, размер выделяемого обьекта в пикселях, оптимальное кол-во изображений. А то я пыт...
Владислав😎
16
did anyone recieve update from Amazon ML summer school?
Lucky Champ
1
Только сейчас дошли руки до Orange pi 5. Это нормально что на нем YOLOv5s выдает 1 кадр раз в 2-3 секунды на CPU? Это без оптимизаций и прочих настроек, просто голый запуск че...
Denis
17
Доброе утро. Подскажите, если если 4 корутины, внутри которых VideoCapture, то будут ли они работать асинхронно? Т.к. нагуглил, что Videocapture в моменте может быть открыт то...
Alexander👨‍💻
19
Всем привет! подскажите пожалуйста как можно увеличить качество фото?
Evgeniy
19
А. То есть задача такая, что тип вы обучаете на разных данных модели. Получаете пачку моделей обученных на частных данных и задача стоит в том, чтобы все эти модели объединит...
Anton 『被遗忘的社会』
7
Hello everyone, ребят, к какому уровню сложности может относиться задачка по отделению облаков от неба для видео? (от 1 до 10,) *в условиях смены времени суток *при неизменно...
Merge
16
Карта сайта