Хранение фото на большом портале

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Razorio
Сообщения: 3
Зарегистрирован: 2017.05.15, 12:15

Хранение фото на большом портале

Сообщение Razorio »

Добрый день, я разработал портал на Yii-2, и вот перед выходом осознал что имею большую проблему с фото.
Проблема в том, что портал рассчитан на то, что каждый юзер, загружает как минимум 3 фотки за один раз и по моим подсчетам, серверное место, допустим в 10 гиг, очень быстро израсходуется, буквально за пол месяца при активной работе портала. Вопрос в том, как опытные люди решают такие проблемы? Спасибо.
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Хранение фото на большом портале

Сообщение caHek2x »

эм магии не будет ... увеличивайте место для хранения фото ... смотря какие потребности: можете сжимать немного ... но в любом случае когдато места не хватит и все равно возвращаемся к тому что надо увеличивать место ....
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Хранение фото на большом портале

Сообщение yiijeka »

нужно больше серверов....так и решают.
а затем оптимизируют, на хабре был опыт описан крупного игрока в этой сфере.
Razorio
Сообщения: 3
Зарегистрирован: 2017.05.15, 12:15

Re: Хранение фото на большом портале

Сообщение Razorio »

Вы были моя последняя надежда, очень, очень жаль
caHek2x
Сообщения: 1242
Зарегистрирован: 2016.04.12, 20:41

Re: Хранение фото на большом портале

Сообщение caHek2x »

а вы на что рассчитывали ? что вам расскажут как сохранить 10Gb в 2Mb ... ?
sosnovskiy
Сообщения: 239
Зарегистрирован: 2017.03.28, 20:03

Re: Хранение фото на большом портале

Сообщение sosnovskiy »

Выносите на cdn. Они знают магию. Чем больше вы им заплатите тем сильнее магия
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Хранение фото на большом портале

Сообщение rodion_zlobin »

Скиньте ссылку статьи на хабре, если не трудно, очень интересно почитать
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Хранение фото на большом портале

Сообщение zelenin »

1. Вариант подороже: юзаете aws s3.
2. Вариант подешевле: берете сервачок https://chipcore.com/, ставите minio https://www.minio.io/ - имеете свой s3, правда без cdn.

Подороже-подешевле относительно. На разных объемах разные ценовые перекосы.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Хранение фото на большом портале

Сообщение Йож »

Имею сайт с обоями для рабочего стола, 1 Тб. Пробовал делать так, основной сайт на быстрой VDS (какую сами выберете) для расположения движка и базы, допустим - 20 Гб SSD, 8 cores, 8 Gb оперативы.

И отдельный Storage Server (например, https://ru.hetzner.com/hosting/produktm ... duktmatrix). А тут самое интересное - для того, чтобы выдать изображение с сервера по FTP - приходится полностью читать файл, потом его выдавать через sendFile yii2 - в общем так быстро забивается оперативка, что сервер умирает за полдня, хотя запросов на забор изображения не так много, тыща-две в час.

По WebDav тормозилово жуткое тоже.

В общем сделал вывод - что лучше иметь сервер с нужным диском, чтобы оперативные данные хранить именно там. Под бекапы можно (даже нужно) отдельный.

Для ТС:
А так, если Вам надо хранить холодные данные - то можно услуги типа AWS S3 (он мне кажется дорогим): Onedrive, GoogleStorage, Mail, YandexDisk - с последним мне видимо не везет, дичайшие тормоза. Даже компоненты есть для Yii2 соответствующие: https://github.com/trntv/yii2-file-kit
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Хранение фото на большом портале

Сообщение zelenin »

Йож писал(а): 2017.05.15, 18:23 Имею сайт с обоями для рабочего стола, 1 Тб. Пробовал делать так, основной сайт на быстрой VDS (какую сами выберете) для расположения движка и базы, допустим - 20 Гб SSD, 8 cores, 8 Gb оперативы.

И отдельный Storage Server (например, https://ru.hetzner.com/hosting/produktm ... duktmatrix). А тут самое интересное - для того, чтобы выдать изображение с сервера по FTP - приходится полностью читать файл, потом его выдавать через sendFile yii2 - в общем так быстро забивается оперативка, что сервер умирает за полдня, хотя запросов на забор изображения не так много, тыща-две в час.

По WebDav тормозилово жуткое тоже.

В общем сделал вывод - что лучше иметь сервер с нужным диском, чтобы оперативные данные хранить именно там. Под бекапы можно (даже нужно) отдельный.
вот вам как раз мой второй вариант подойдет идеально.
А то, что вы про фтп придумали - это жесть конечно. Читать не надо - надо отдавать с другого сервера по прямой ссылке.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Хранение фото на большом портале

Сообщение Йож »

zelenin писал(а): 2017.05.15, 18:33 А то, что вы про фтп придумали - это жесть конечно. Читать не надо - надо отдавать с другого сервера по прямой ссылке.
Да, Александр, я, конечно, думал об этом. Но тут дело у меня стоит в том, чтобы защитить коллекцию обоев (в которую вложено не менее полмиллиона рублей) от тупого скачивания всех обоев. Поэтому выдавать прямые ссылки не хотелось бы. Тут можно либо изменять ссылки постоянно, либо не знаю что.

А в моем случае я выдаю каждый раз новую ссылку с хешем в зависимости от сессии. Пробовал по HTTPS, FTP, WebDav, Samba, SFTP, SSH выкачивать и отдавать одновременно (через remote filesize, readfile и выдачу contentlength все отдается корректно). Самый быстрый способ, конечно - по http, но все равно рядом не стояло с тем, когда все на сервере расположено. Тем более сейчас железо не супердорогое https://robot.your-server.de/order/market https://www.online.net/en/dedicated-server https://contabo.com/?show=servers, конкуренция..
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Хранение фото на большом портале

Сообщение zelenin »

Йож писал(а): 2017.05.15, 20:37
zelenin писал(а): 2017.05.15, 18:33 А то, что вы про фтп придумали - это жесть конечно. Читать не надо - надо отдавать с другого сервера по прямой ссылке.
Да, Александр, я, конечно, думал об этом. Но тут дело у меня стоит в том, чтобы защитить коллекцию обоев (в которую вложено не менее полмиллиона рублей) от тупого скачивания всех обоев. Поэтому выдавать прямые ссылки не хотелось бы. Тут можно либо изменять ссылки постоянно, либо не знаю что.
а, я понял. вам нужны защищенные ссылки. minio решает эту проблему тоже - можно генерить presigned urls, которые будут действительны заданное время.
Но вообще не очень понимаю, что это дает, ведь я могу ваш сайт зеркалировать.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Хранение фото на большом портале

Сообщение Йож »

zelenin писал(а): 2017.05.15, 23:56 а, я понял. вам нужны защищенные ссылки. minio решает эту проблему тоже - можно генерить presigned urls, которые будут действительны заданное время.
Супер, попробую!
zelenin писал(а): 2017.05.15, 23:56 Но вообще не очень понимаю, что это дает, ведь я могу ваш сайт зеркалировать.
Имеете ввиду полностью запарсить? Сейчас стоит ограничение на количество загрузок фото по IP и куки.. Думаю, еще сделать только для зарегистированных - тогда вообще без шансов будет слить все :)

Или имеете ввиду зеркалировать в реальном времени? Такое банится быстро.. В том числе проверка на реферера и все такое.
+ стоит блокировка по диапазонам IP большинства известных хостингов в мире и в РФ на внешние запросы (banhammer называется штука).
Понимаю, что все равно 100% не защитить, но хотя бы так.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Хранение фото на большом портале

Сообщение zelenin »

Йож писал(а): 2017.05.16, 00:27
zelenin писал(а): 2017.05.15, 23:56 а, я понял. вам нужны защищенные ссылки. minio решает эту проблему тоже - можно генерить presigned urls, которые будут действительны заданное время.
Супер, попробую!
zelenin писал(а): 2017.05.15, 23:56 Но вообще не очень понимаю, что это дает, ведь я могу ваш сайт зеркалировать.
Имеете ввиду полностью запарсить? Сейчас стоит ограничение на количество загрузок фото по IP и куки.. Думаю, еще сделать только для зарегистированных - тогда вообще без шансов будет слить все :)

Или имеете ввиду зеркалировать в реальном времени? Такое банится быстро.. В том числе проверка на реферера и все такое.
+ стоит блокировка по диапазонам IP большинства известных хостингов в мире и в РФ на внешние запросы (banhammer называется штука).
Понимаю, что все равно 100% не защитить, но хотя бы так.
меня забанит, если я в минуту буду по 100 запросов делать со своего ip?
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Хранение фото на большом портале

Сообщение Йож »

Если все по уму сделать, то не забанит, конечно. Если парсить исходники обоев (большие картинки) - то после 20 скачек нужно менять IP и чистить куки..
Любой сайт можно выкачать, но все равно усложнить задачу для парсеров - это важно для меня)
Аватара пользователя
yiijeka
Сообщения: 3103
Зарегистрирован: 2012.01.28, 09:14
Откуда: Беларусь
Контактная информация:

Re: Хранение фото на большом портале

Сообщение yiijeka »

Устал, так и не смог найти то, что хотел. Очень похожа на эту статью https://habrahabr.ru/company/mailru/blog/316740/ , но та была про изображения конкретно. Суть была её в том, что компания наняла или выделела работников под задачу "эффективно хранить фоточки", так как уже упёрлись в немыслеммое количество серверов, если и дальше пойдёт, то там их ждал крах. Что за компания, что за статья фиг вспомню, но точно на хабре.

Тем немеее пока искал, вот парочку интересных попались, но все не те :(

https://habrahabr.ru/post/185636/
https://habrahabr.ru/post/104094/
https://habrahabr.ru/company/creativemedia/blog/57162/
https://habrahabr.ru/post/184652/
https://habrahabr.ru/company/avito/blog/328778/
https://ruhighload.com/index.php/2009/0 ... %B8%D0%B9/
Аватара пользователя
rodion_zlobin
Сообщения: 207
Зарегистрирован: 2017.01.11, 16:33

Re: Хранение фото на большом портале

Сообщение rodion_zlobin »

Спасибо за труд, будем изучать :)
Razorio
Сообщения: 3
Зарегистрирован: 2017.05.15, 12:15

Re: Хранение фото на большом портале

Сообщение Razorio »

Спасибо за ответы ребята, разгребаюсь
Ответить