Welcome! Log In Create A New Profile

Advanced

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev
June 02, 2010 03:42AM
2010/6/1 iWarior <nginx-forum@nginx.us>:
> [i]По поводу количества процессов: скорее хватит 20-30 (и не забываем кешировать ответы бекендов), хотя, конечно, это сильно зависит от
> нагрузки. На linux/freebsd значительная часть памяти у них всех будет общая. Что ещё вас смущает в количестве? На windows да, это мало пригодно. Там нужно использовать потоки, и опять же, память будет общая.[/i]
>
> Это всё замечательно, НО: на linux/freebsd nginx конфигурируется точно также как и на windows - fastcgi_pass ссылается или на [u]один[/u] хост:порт или на [u]один[/u] сокет и этот один fastcgi_pass обслуживает все запросы. И все эти запросы не ждут по одному пока их рассчитают - всё работает параллельно.
>
> В Windows же c php-cgi у меня задачи эти в очередь выстраиваются. Вопрос: Кто-нибудь на Windows такое поднимал, чтобы nginx+php работали нормально на низкой нагрузке? Я что-то не так делаю, или это баг в php-cgi?

Потому что на не-windows, php-cgi с запускает (столько, сколько
записано в переменной окружения PHP_FCGI_CHILDREN) детей, которые
обрабатывают запросы. На windows php-cgi эту переменную игнорирует и
работает в однопоточном режиме.

Да, я вам уже говорил, что, например, я поднимал. И говорил как: нужно
запустить несколько php-cgi. Отдельно. И настроить upstream из
нескольких портов.

> [i]Про upstream всё правильно, да. Таймауты тут не причём, просто по
> очереди перебираются бекенды, да. Есть модуль fair upstream, который
> более хитро выбирает бекенды, чтоб они равномерно были загружены.[/i]
>
> Косяк в том, что upstream перебирает бекенды случайно с учётом весов и прочего, плюс прибивает мёртвые бекенды. Но занятый php-cgi не мёртвый, поэтому он не исключается даже по нулевому таймауту, и если при переборе не повезёт, то ждать ответа придётся ровно столько же, сколько и без upstream. Поэтому такое решение не подходит и смысла плодить php-cgi нету...
>

"прибивает мёртвые бекенды" — фантазия. Было бы здорово, но увы, нет.
nginx не управляет бекендами.

Начиная с "занятый php-cgi не мёртвый, поэтому он не исключается даже
по нулевому таймауту" тоже фантазия и дальнейшие выводы (долго ждать
ответа, решение не подходит), на ней основанные, неверны.

У вас была проблема с настройкой nginx + несколько отдельных php-cgi
бекендов? Так надо было именно с этой проблемой и обращаться, чтобы
вам посоветовали как её решить. А скоропостижные выводы, типа "так
ничего не выйдет", вашу задачу решить не поможет.

fastcgi_next_upstream error timeout; # это значение по-умолчанию,
проверьте, что вы его не меняли

fastcgi_connect_timeout 1;
и nginx будет пробовать следующий бекенд, следующий и так пока не
найдёт свободный.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior May 30, 2010 06:09PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev May 30, 2010 06:16PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior May 30, 2010 06:31PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Александр Кутузов May 30, 2010 06:42PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Daniel Podolsky May 30, 2010 06:50PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev May 30, 2010 07:14PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior May 30, 2010 07:06PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev May 30, 2010 07:36PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior May 31, 2010 06:26AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev May 31, 2010 06:32AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Daniel Podolsky May 31, 2010 06:34AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior May 31, 2010 07:09AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Daniel Podolsky May 31, 2010 07:44AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Peter Vereshagin May 31, 2010 08:12AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Yury V. Zaytsev June 01, 2010 07:55AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev May 31, 2010 07:58AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior June 01, 2010 12:32PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior June 01, 2010 01:07PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Yuriy Taraday June 01, 2010 02:48PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Andrey N. Oktyabrski June 01, 2010 04:50PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Daniel Podolsky June 01, 2010 03:20PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev June 02, 2010 03:42AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior June 03, 2010 11:11AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

iWarior June 03, 2010 01:29PM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Sergey Shepelev June 03, 2010 11:26AM

Re: nginx (Windows XP) + php-cgi.exe - одновременно обрабатывает только один запрос - остальные ждут

Alex Vorona June 03, 2010 11:50AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 175
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