Весь контент и есть холодный. Суть разделения - в снижении нагрузки на диски, так как при большом объеме отдачи они могут начать тормозить. Цель как раз и получить что-то вроде raid'a, только с увеличенной производительностью.
8 января 2009 г. 12:29 пользователь Sergej kandyla <sk.paix@xxxxxxxxx> написал:
Борис Долгов wrote:
Добрый день!
Хотелось бы как-нибудь хитро заставить nginx балансировать нагрузку между несколькими жесткими дисками (между несколькими document_root)
Вижу несколько решений:
1. Поднять еще 7 nginx'ов на разных портах, сделать балансинг по tcp. Наверно, плохо.
2. Поднять еще 7 server'ов в одном nginx'e, сделать баланскинг по tcp. Наверно, плохо.
3. Написать что-то легкое на fastcgi, которое будет отдавать X-Accel-Redirect. Наверно, плохо?
4. Написать что-то на встроенном perl'e. Хорошо ли? Как сделать равномерную балансировку при его использовании, не прибегая к внешним средствам.
5. Написать модуль, который будет сам менять document_root. Наверно, не осилю.
Есть ли какие-то другие способы? Что из вышеперечисленного посоветуете? Файлы небольшие, не больше 7 мегабайт.
Извините, что не потеме, но, быть может, рассмотреть другие варианты архитектуры, напримр, разделение "горячий" - "холодный" контент? имхо стороны как-то кажется неоптимальным ваш выбор дублировать на нескольких дисках одну и туже инфу. Возможно, если вы огласите исходную задачу, будет проще что-то посоветовать.
Также, как вариант, можно все эти нескольо дисктов запихнуть в одно програмное зеркало, и получить балансировку на уровне ОС.