Re: [Windows + fastcgi + php] Валится или перестаёт отвечать

Maxim Dounin mdounin at mdounin.ru
Thu Apr 18 09:18:35 UTC 2013


Hello!

On Thu, Apr 18, 2013 at 04:54:53AM -0400, FireFenix wrote:

[...]

> При:
> 
> C:\>ab.exe -n 1000 -c 100 http://10.10.1.1:8080/index.php
> This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
> Licensed to The Apache Software Foundation, http://www.apache.org/
> 
> Benchmarking 10.10.1.1 (be patient)
> Completed 100 requests
> Completed 200 requests
> Completed 300 requests
> Completed 400 requests
> Completed 500 requests
> apr_pollset_poll: The timeout specified has expired (70007)
> Total of 593 requests completed
> 
> 
> 
> В лог валится кучу флуда, строк вида:
> 
> 2013/04/18 11:44:27 [error] 3920#3716: *1089 WSARecv() failed (10054:
> Удаленный хост принудительно разорвал существующее подключение) while
> reading response header from upstream, client: 10.0.0.4, server: localhost,
> request: "GET /index.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000",
> host: "10.10.1.1:8080"
> 2013/04/18 11:44:27 [error] 3920#3716: *1165 WSARecv() failed (10054:
> Удаленный хост принудительно разорвал существующее подключение) while
> reading response header from upstream, client: 10.0.0.4, server: localhost,
> request: "GET /index.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000",
> host: "10.10.1.1:8080"
> 2013/04/18 11:45:00 [info] 3920#3716: *1373 client prematurely closed
> connection, so upstream connection is closed too while connecting to
> upstream, client: 10.0.0.4, server: localhost, request: "GET /index.php
> HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "10.10.1.1:8080"
> 2013/04/18 11:45:00 [info] 3920#3716: *1387 client prematurely closed
> connection, so upstream connection is closed too while connecting to
> upstream, client: 10.0.0.4, server: localhost, request: "GET /index.php
> HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "10.10.1.1:8080"
> 2013/04/18 11:45:00 [info] 3920#3716: *1390 client prematurely closed
> connection, so upstream connection is closed too 
> 
> 
> И прибивается процесс php-cgi.
> 
> Подскажите, как быть?

Судя по логам - ab просто не дождался ответа.  Это может быть 
банально нормально, если время ответа тестируемого index.php 
достаточно большое, а php-процессов - мало.

Хотя я не совсем понимаю, что понимается под словами "и 
прибивается процесс php-cgi", если он действительно умирает - то 
наверное надо разбираться, что именно там происходит.  Тут, 
впрочем, nginx ни при чём - он не занимается запуском и контролем 
php-cgi.

> >Ну и на всякий случай явно замечу, что "правильно настроить для
> >~500 юзеров" включает в себя заменить Windows на что-нибудь более
> >другое.
> Ну и железо понменять тоже бы не помешало, но мне сейчас важно, чтобы просто
> все запросы уходили в пул и выдавали результат как выполняться, а не так
> чтобы всё падало и с концами =(

Тут неоднократно высказывалось мнение, что поднять на той же 
машине linux/freebsd в виртуалке - более надёжное решение.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



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