php-fpm upstream pool
igor.goncharenko
nginx-forum на nginx.us
Пт Ноя 25 16:24:12 UTC 2011
В такой конфигурации еще интереснее:
upstream fcgi_proxy {
server 10.0.30.77:9000 max_fails=1 fail_timeout=240s; # answer more
than 60 sec
server 10.0.30.77:9001 max_fails=1 fail_timeout=240s; # answer more
than 60 sec
server 10.0.30.77:9002 max_fails=1 fail_timeout=240s; # answer more
than 60 sec
server 10.0.30.73:9000 max_fails=1 fail_timeout=240s; # ok
}
то-есть на 3-х серверах скрипт
выполняется 60 сек, 4-й - нормальный.
Получаем в логах:
10.0.0.1 - - [25/Nov/2011:15:41:54 +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.093" 30.106 SSL:-/- "gzip:-"
502 непонятно пчему и вместо ip:port
подставлено имя апстрима fcgi_proxy.
10.0.0.1 - - [25/Nov/2011:15:42:25 +0000] "GET /fcgi-proxy/ HTTP/1.1"
504 1205 "-" "JoeDog/1.00 [en] (X11; I; Siege 2.70)" "-"
"10.0.0.77:9000, 10.0.0.77:9001 : 10.0.0.12:80 504, 504 : 404 - 30.012,
30.003 : 0.001" 60.016 SSL:-/- "gzip:-"
10.0.0.1 - - [25/Nov/2011:15:42:26 +0000] "GET /fcgi-proxy/ HTTP/1.1"
504 1205 "-" "JoeDog/1.00 [en] (X11; I; Siege 2.70)" "-"
"10.0.0.77:9000, 10.0.0.77:9001 : 10.0.0.12:80 504, 504 : 404 - 30.009,
30.001 : 0.001" 60.011 SSL:-/- "gzip:-"
вот это "10.0.0.12:80" нормальный бэкенд с
апачем и в его логах:
10.0.0.1 fcgi-proxy.com 10.0.30.111 - - [25/Nov/2011:15:41:54 +0000]
"GET /fcgi-proxy/ HTTP/1.0" 404 1205 "-" "JoeDog/1.00 [en] (X11; I;
Siege 2.70)" /home/www/http_error/404.html 76304/676335936 - -
то-есть идет уже за ошибкой 404.
Получается, что если nginx прерывает
коннект к первому, а потом ко второму fcgi
серверу (оба по таймауту) , в сумме
получается 30+30=60 сек, то на третий уже
как бы идти нет смысла и он идет на
бэкенд за ошибкой? Так?
---
Igor
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,219032,219058#msg-219058
Подробная информация о списке рассылки nginx-ru