Балансировка трафика между серверами

12
N
На сайте с 18.05.2012
Offline
5
#11

можно средствами Round-Robin DNS сделать распределение

http://ru.wikipedia.org/wiki/Round_robin_DNS

также можно и скрипт написать, который будет парсить через snmp эти 2 сервера на загрузку и менять резолв в зависимости от загруженности сервера

Andreyka
На сайте с 19.02.2005
Offline
822
#12

Я понял, что именно вам нужно на самом деле

Если есть желание - могу проконсультировать в онлайне

Первые 15 минут бесплатно

Не стоит плодить сущности без необходимости
N
На сайте с 06.05.2007
Offline
419
#13

vadimaster, примерно понятно.

Как-то слишком уж прямолинейно копируйте чужой опыт.

Суть этого приема, в том чтобы повысить шанс попадания файлов в кеш памяти на одном конкретном сервере. Вероятно, они делают это даже без проверки загрузки каналов.

Кнопка вызова админа ()
vadimaster
На сайте с 04.05.2008
Offline
48
#14
netwind:
vadimaster, примерно понятно.
Как-то слишком уж прямолинейно копируйте чужой опыт.
Суть этого приема, в том чтобы повысить шанс попадания файлов в кеш памяти на одном конкретном сервере. Вероятно, они делают это даже без проверки загрузки каналов.

Ребята, ну зачем гадать? Я же написал, как они работают. Все сервера (как у них, так и у меня) находятся в разных ДЦ, имеют разный канал (от 100 mbit/s до 2 Gbit/s), поэтому нужно учитывать именно загрузку канала каждого сервера. Если сервер с каналом 2 Gbit/s загружен на 80%, а сервер с каналом 100 mbit/s всего на 40%, то нужно использовать ресурсы сервера с каналом 100 mbit/s.

Купить все сервера в одном ДЦ и с одинаковым каналом, конечно, можно, но не нужно по многим причинам, в том числе и по причине того, что один из ДЦ может лежать. Я уже разбираюсь с snmp -- в целом, это то, что мне нужно. По поводу платных консультаций -- спасибо, но я очень люблю во всём разбираться самостоятельно, достаточно лишь указать мне правильный путь.

lingod:
так зачем HDD поставьте SSD и проблему рукой снимет

А тему почитать? SSD решит проблему с балансировкой трафика между серверами и снимет нагрузку по каналам?

Партнёрская программа в Анализаторе Собачьих Бегов (http://dogstats.ru/?action=pp). Четыре уровня, процент партнёра до 35%, выплаты несколько раз в неделю!
N
На сайте с 06.05.2007
Offline
419
#15

vadimaster, а гадают, потому что вы раньше ничего не написали про разные ДЦ.

И SSD в отдельных случаях поможет поднять отдачу. Вы же не написали какие именно у вас каналы.

Romka_Kharkov
На сайте с 08.04.2009
Offline
485
#16

vadimaster, если вы любите разбираться, то вы уже ответили на собственный вопрос в своем же первом посте, вам надо в контрольной точке приема запросов создать механизм который сможет предоставить информацию о нагрузке на тот или иной сервер , после чего вывести\подставить необходимый сервер в коде сайта для текущего запроса. Реализовать можно даже на bash, у меня есть скрипты которые опрашивают десятки серверов по разным параметрам и собирают все в 1 файлик, дальше анализ и принятие решения... вопрос сей схемы заключается больше в том, каким образом реализовывать сам момент балансировки, то ли внутри PHP строить редирект.... то ли внутри PHP выводить нужный сервер как я описал выше, то ли стоит выходить за рамки серверов и пытаться работать с ДНС..... но на сколько я понимаю как работает ДНС, у вас не получится моментально менять для меня например сервера раздачи ... так как у меня плотно в кеше отложится первый сервер на который я попаду (Если говорить о DNS) по этому такая методика для каналов которые динамически нагружены.... вообще не приемлема как по мне, хотя возможно есть решения о которых я не знаю или не сталкивался.

Есть около 15.000 ipv4 !!! (http://onyx.net.ua/price.php#ipv4) Качественный хостинг с 2005 года - лучшее клиентам! (http://onyx.net.ua/)
vadimaster
На сайте с 04.05.2008
Offline
48
#17
netwind:
vadimaster, а гадают, потому что вы раньше ничего не написали про разные ДЦ.
И SSD в отдельных случаях поможет поднять отдачу. Вы же не написали какие именно у вас каналы.

В теме я указал, что хочу сбалансировать трафик между своими серверами с фильмами, и спрашивал совета, как мне это сделать. Я ведь не спрашивал, есть ли другое решение для моей задачи, поэтому и не говорил про разные ДЦ и разные каналы. Мне подсказали про snmp и mrtg, за что я очень-очень благодарен!

Mik Foxi
На сайте с 02.03.2011
Offline
1177
#18

если 2 сервера одинаковые - раунд робин днс, самое простое и быстрое решение, нагрузку поделит примерно 50/50

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
Z1
На сайте с 07.02.2012
Offline
67
#19

сделал на php: сканим нетстатом коннекты на обоих серверах и кэшируем на 5сек в файл.. далее просто сравниваем числа.

+ проверяю наличие файлов на обоих серверах..

каналы получаются практически равными +-5%

VO
На сайте с 27.07.2008
Offline
149
#20

по snmp опросить 8 серверов займет прилично по времени. При каждом запросе файла в этом нет необходимости. Делите математически + добавляйте коэффициенты в зависимости от занятого канала. Пересчитываться это должно отдельным скриптом, чаще чем раз в минуту запускать его нет смысла. Обязательно таймауты небольшие, если один из серверов станет недоступен, ему ставить коэффициент 0, ну и другие подобные случаи нужно в алгоритме предусмотреть. По нормальному, вам нужно выделить отдельную группу для раздачи популярного контента и при необходимости ограничить ей полосу пропускания, чтобы не ложилось все, если что-то пойдет не так. Поле для деятельности есть) но начать нужно с настройки мониторинга каналов :)

12

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