php-fpm upstream pool

igor.goncharenko nginx-forum на nginx.us
Вт Ноя 29 15:48:31 UTC 2011


Дело в том, что так как это тестовая
площадка, то я точно знаю, что один
апстрим всегда живой. Мне не очень
понятна логика выбора апстримов, когда
многие из них лежат (по таймауту).
Например:

вот для этой конфигурации:

upstream fcgi_proxy {
server 10.0.0.77:9000 max_fails=1 fail_timeout=240s; # answer more than
60 sec
server 10.0.0.77:9001 max_fails=1 fail_timeout=240s; # answer more than
60 sec
server 10.0.0.77:9002 max_fails=1 fail_timeout=240s; # answer more than
60 sec
server 10.0.0.73:9000 max_fails=1 fail_timeout=240s; # ok 
}

10.0.0.1 - - [25/Nov/2011:16:36:59 +0000] "GET /fcgi_proxy/ HTTP/1.1"
502  1205 "-" "JoeDog/1.00 [en] (X11; I; Siege 2.70)" "-"
"10.0.0.77:9000, 10.0.0.77:9001, fcgi_proxy : 10.0.0.12:80 504, 504, 502
: 404 - 30.009, 30.017, 0.000 : 0.001" 60.027 SSL:-/- "gzip:-"

здесь nginx пробует 2 апстрима (остальные
видимо помечены как down): 10.0.0.77:9000 и
10.0.0.77:9001 (а мы знаем, что 10.0.0.73:9000 всегда
живой)

10.0.0.1 - - [25/Nov/2011:16:44:03 +0000] "GET /fcgi_proxy/ HTTP/1.1"
502  1205 "-" "JoeDog/1.00 [en] (X11; I; Siege 2.70)" "-"
"10.0.0.77:9000, fcgi_proxy : 10.0.0.12:80 504,502 : 404 - 30.013, 0.000
: 0.002" 30.015 SSL:-/- "gzip:-"

а здесь пробует только один: 10.0.0.77:9000,
хотя как я понимаю, он должен отправить
запрос на 10.0.0.73:9000.

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



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