php-fpm upstream pool

igor.goncharenko nginx-forum на nginx.us
Пт Дек 2 08:47:31 UTC 2011


Maxim Dounin Wrote:
-------------------------------------------------------

> > инвестигировать
> поведение фрибсд в
> > виртуальной машине, но это
> не по теме).
> 
> Если это не в рамках одной
> виртуальной машины, то
> скорее 
> исследовать надо сетевую
> подсистему виртуализатора.
>  Обычно она не 
> блещет и/или имеет в себе
> statefull firewall, со всеми
> вытекающими 
> прелестями в виде потери
> соединений при
> переполнении таблицы 
> состояний и невозможности
> использования timewait'ов, пока
> не 
> протухнет соответствующая
> запись в firewall'е.

Похоже на то. Это ESXi 4.1 и я замечал
некоторое несоответствие в поведении
freebsd в виртуальной машине и на
физической. Время заняться этим.
 
> > 10.0.0.1 - - [01/Dec/2011:15:08:40 +0200] "GET
> /fcgi-proxy/ HTTP/1.1"
> > 504  183 "-" "JoeDog/1.00 [en] (X11; I; Siege
> 2.70)" "-"
> > "10.0.0.77:9003, 10.0.0.77:9004 504, 504 -
> 10.002,10.002" 20.004 SSL:-/-
> > "gzip:-"
> > 
> > {skip}
> > причем есть и корректные,
> например:
> > 
> > 10.0.0.1 - - [01/Dec/2011:15:06:07 +0200] "GET
> /fcgi-proxy/ HTTP/1.1"
> > 200  33 "-" "JoeDog/1.00 [en] (X11; I; Siege
> 2.70)" "-" "10.0.0.77:9001,
> > 10.0.0.77:9002, 10.0.0.73:9000 504, 504, 200 -
> 10.002, 10.001, 0.006"
> > 20.009 SSL:-/- "gzip:-"
> 
> Судя по всему, это одно из
> проявлений вот этого бага:
> http://trac.nginx.org/nginx/ticket/64

Да. Очень похоже это оно. Тогда в
продакшин двигать на 1.0.X нельзя пока :(

>> > Поставил nginx 1.1.9. Намного
> лучше, в общем
> > то, что хотелось. На 10000
> соединений 504-х
> > (и 502) нет вообще, а есть
> только 18
> > соединений по 10 секунд:
> > 
> > Это потому что 1.1.X
> проверяет нерабочий
> > бэкенд только одним
> запросом. Есть ли
> > планы сделать так же в 1.0.X
> ветке?
> 
> Скорее нет, чем да. 
> Изменение в целом хорошее,
> но потенциально 
> может затронуть работающие
> конфигурации с долгими
> запросами и/или 
> 3rd party балансировщиками.  А
> чем 1.1.x не устраивает?

Ситуация такая - продакшин сейчас до
сих пор на 0.8.54 (балансер). В этой версии
я тоже замечал присутствие бага
http://trac.nginx.org/nginx/ticket/64 хотя я больше
грешил на виртуализацию. С появлением
ветки 1.0.X была запланирована миграция
на эту ветку и сейчас вроде как время
пришло, но появилась задача с fcgi пулом.
И теперь оказалось, похоже, смысла
мигрировать на 1.0.X нет - потому что для
задач балансера этот баг - серьезный.

Насчет 1.1.X. Ну во-первых, ветка
позиционируется как девелопмент,
соответственно, использовать на
продакшине можно только в крайнем
случае. Во-вторых, упомянутый вами
вопрос с долгими запросами. У меня
могут быть тяжелые запросы к базе, надо
подумать как изменение в схеме
балансинга может на них повлять - судя
по всему тем, что "живые" бэкенды будут
нагружены больше чем раньше.

3rd балансировщиками не пользуюсь.

Я бы сделал изменение схемы
балансировки в 1.0.x опциональным и
выключенным по дефолту, если это
возможно. Иначе судя по всему, в моем
случае, мне придется ждать пока ветка
1.1.X не будет переведена в stable.
 

> Maxim Dounin
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


---
Igor

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,219032,219459#msg-219459



Подробная информация о списке рассылки nginx-ru