Welcome! Log In Create A New Profile

Advanced

Re: балансиро�

Posted by Alex Samorukov 
Alex Samorukov
Re: балансиро�
February 11, 2010 11:38AM
hg_04 wrote:
> Посоветуйте, пожалуйста, умный балансировщик. Что бы раскидывал запросы не последовательно, а в зависимости от загрузки сервера.
>
А как он должен определять "загрузку сервера"? по моему опыту как раз
раундробин и дает равномерную загрузку нод при хайлоаде, все равно 99%
запросов долго не живет.
> Posted at Nginx Forum: http://forum.nginx.org/read.php?25,53577,53577#msg-53577
>
>
>
Алексей Бобок
Re: балансиро�
February 11, 2010 01:04PM
Бывают исторические проблемы в архитектуре, когда 1-2 гребучих запроса
вешают тазик и всеёё )))
Такая проблема была у нас, пока не переписали весь раздел.
Так что раундробин иногда много хуже "умных" балансировщиков.

> А как он должен определять "загрузку сервера"? по моему опыту как раз
> раундробин и дает равномерную загрузку нод при хайлоаде, все равно 99%
> запросов долго не живет.

--
Best regards, Alexey Bobok
Ihalainen Nickolay
Re: балансиро�
February 11, 2010 01:04PM
простая ситуация:
вызывается запрос к php странице на которой 2 ajax/iframe, один
быстрый, другой тяжёлый.
можно написать страничку так что тяжёлые запросы будут преимущественно
попадать на один сервер.
псевдослучайное раскидование/балансировка по времени предыдущего
ответа позволяют более равномерно
поделить нагрузку.


2010/2/11 Alex Samorukov <samm@os2.kiev.ua>:
> hg_04 wrote:
>>
>> Посоветуйте, пожалуйста, умный балансировщик. Что бы раскидывал запросы не
>> последовательно, а в зависимости от загрузки сервера.
>>
>
> А как он должен определять "загрузку сервера"? по моему опыту как раз
> раундробин и дает равномерную загрузку нод при хайлоаде, все равно 99%
> запросов долго не живет.
>>
>> Posted at Nginx Forum:
>> http://forum.nginx.org/read.php?25,53577,53577#msg-53577
>>
>>
>>
>
>
Alex Samorukov
Re: балансиро�
February 11, 2010 01:12PM
Ihalainen Nickolay wrote:
> простая ситуация:
> вызывается запрос к php странице на которой 2 ajax/iframe, один
> быстрый, другой тяжёлый.
> можно написать страничку так что тяжёлые запросы будут преимущественно
> попадать на один сервер.
> псевдослучайное раскидование/балансировка по времени предыдущего
> ответа позволяют более равномерно
> поделить нагрузку.
>
Знаете, не думаю что это будет иметь значение при RPS > 100-200
>
> 2010/2/11 Alex Samorukov <samm@os2.kiev.ua>:
>
>> hg_04 wrote:
>>
>>> Посоветуйте, пожалуйста, умный балансировщик. Что бы раскидывал запросы не
>>> последовательно, а в зависимости от загрузки сервера.
>>>
>>>
>> А как он должен определять "загрузку сервера"? по моему опыту как раз
>> раундробин и дает равномерную загрузку нод при хайлоаде, все равно 99%
>> запросов долго не живет.
>>
>>> Posted at Nginx Forum:
>>> http://forum.nginx.org/read.php?25,53577,53577#msg-53577
>>>
>>>
>>>
>>>
>>
Alex Samorukov
Re: балансиро�
February 11, 2010 01:16PM
Алексей Бобок wrote:
> Бывают исторические проблемы в архитектуре, когда 1-2 гребучих запроса
> вешают тазик и всеёё )))
>
Тогда мы не говорим о хайлоаде. Ну и нжинсксовый раунд робин с этим
прекрасно справляется - получил таймаут и выел ноду из пула на н секунд.
> Такая проблема была у нас, пока не переписали весь раздел.
> Так что раундробин иногда много хуже "умных" балансировщиков.
>
Бывает, согласен. Как минимум health monitoring может быть полезен если
у нас реально _много_ нод и не все время большая загрузка. Кстати через
него нода может и менее деструктивно чем через таймаут сообщать что ей
плохо )
Алексей Бобок
Re: балансиро�
February 11, 2010 02:22PM
у нас, кстати, по задаче конвертирования видео севрера обработки
выбираются по очереди, но при этом php спрашивает через system() load
avarage и если ну очень плохо то выбирает более разгруженный сервер,
куда аплоаднуть видяшку с юзера.
пока работает )


11 февраля 2010 г. 20:10 пользователь Alex Samorukov
<samm@os2.kiev.ua> написал:
> Алексей Бобок wrote:
>>
>> Бывают исторические проблемы в архитектуре, когда 1-2 гребучих запроса
>> вешают тазик и всеёё )))
>>
>
> Тогда мы не говорим о хайлоаде. Ну и нжинсксовый раунд робин с этим
> прекрасно справляется - получил таймаут и выел ноду из пула на н секунд.
>>
>> Такая проблема была у нас, пока не переписали весь раздел.
>> Так что раундробин иногда много хуже "умных" балансировщиков.
>>
>
> Бывает, согласен. Как минимум health monitoring может быть полезен если у
> нас реально _много_ нод и не все время большая загрузка. Кстати через него
> нода может и менее деструктивно чем через таймаут сообщать что ей плохо )
>



--
Best regards, Alexey Bobok
Alex Samorukov
Re: балансиро�
February 11, 2010 05:58PM
Алексей Бобок wrote:
> у нас, кстати, по задаче конвертирования видео севрера обработки
> выбираются по очереди, но при этом php спрашивает через system() load
> avarage и если ну очень плохо то выбирает более разгруженный сервер,
> куда аплоаднуть видяшку с юзера.
> пока работает )
>
Ужасы рассказываете. exec() на каждый запрос... мрак.
Antony Dovgal
Re: балансиро�
February 12, 2010 02:50PM
On 02/11/2010 09:54 PM, Алексей Бобок wrote:
> у нас, кстати, по задаче конвертирования видео севрера обработки
> выбираются по очереди, но при этом php спрашивает через system() load
> avarage и если ну очень плохо то выбирает более разгруженный сервер,
> куда аплоаднуть видяшку с юзера.
> пока работает )

Ну зачем же через system?
Есть sys_getloadavg()

--
Wbr,
Antony Dovgal
---
http://pinba.org - realtime statistics for PHP
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 276
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready