Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Есть ли сервер под хранение и отдачу статики?
Новая тема
Ответить
цитата
14/11/12 в 10:06
ibiz
есть куча папок с картинками, вида /2012/11/14/001/img1.jpg
хотелось бы их отдавать через урл вида /123456789.jpg
для этого надо хранить ссылки вида 123456789.jpg на папку вида /2012/11/14/001/img1.jpg
сейчас это работает через mysql, все вроде бы нормально, нагрузка дошла до 100-200 запросов в сек, но как только на сервере начинают работать кроны по другим запросам к базе, начинаются тормоза
есть ли какой специальный сервер для этого?
возможно есть хитрая надстройка для nginx со своей базой хранения хэшей физ путей?
цитата
14/11/12 в 12:55
johndoe2
Зачем придумывать дополнительную нагрузку?
Сделай не /123456789.jpg а /20121114001-img1.jpg. Разбор входящих uri - простым, ОДНИМ, rewrite
цитата
14/11/12 в 13:10
ibiz
johndoe2 писал:
Зачем придумывать дополнительную нагрузку?
Сделай не /123456789.jpg а /20121114001-img1.jpg. Разбор входящих uri - простым, ОДНИМ, rewrite
изначально был такой вариант, а потом потребовалось расширения кол-ва функций, типа поиск по размеру файла, кол-ва обращений к нему, рефереров и т.д., без базы тут не обойтись
к тому же хранится хитрый хэш картинки, который проверяется при загрузке, и две одинаковые пиксы ссылаются на один физ файл
цитата
14/11/12 в 13:17
johndoe2
А в сторону redis/memcached вместо mysql смотрели? Или их возможности не подходят под "потребовалось расширения кол-ва функций"?
цитата
14/11/12 в 13:29
ibiz
memcached тут не подойдет, а к redis присматриваемся, спасибо за идеи!
цитата
14/11/12 в 13:35
johndoe2
Еще мысль: часть работы может быть можно перенести на обычные логи веб-сервера, если по реферерам и кол-ву обращений данные в базе просто собираются. Если по кол-ву обращений нужно принимать какие-то решения на лету, можно эти решения основывать на данных, которые генерить обработкой логов через крон каждые полчаса например.
Нормальные герои всегда идут в обход
Новая тема
Ответить
Эта страница в полной версии