ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Connection timed out (php + fastcgi)


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Connection timed out (php + fastcgi)
  • From: "Nick S. Grechukh" <gns@xxxxxxxxxxx>
  • Date: Sun, 15 Apr 2007 20:26:05 +0300
  • Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=Yj4+56JlGZo+cHDzPWrmGHzsm5o9P4z8rWH/EjEG5ZI1wFlTkHBMb2g2tB4Toasfhy4uiQoDxYvJhm63CaEFaPVb8zVH9LfkPNAZ63lE2Lgc8i2zfeU7+qdqlJ9G82UARXPa74yuGVpMQZtQmveqiq6fO5X3N8COCPFehuLtab8=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=H9WWpsNSycP9UuMHB47rHodE39UeiqUA9JVUzzxdyD4QjCavTXShIiXmbUBlKYzv1slNs8xFyVgFq3S6yUEVoTUUyWfazxh7u9M47DpkiXq5I/uThi8cVjXtWjz5SqqFt7fBp0tfiWI11zH2Efu/dpqUl41bUg9Aa9EG3H8IjDA=
  • In-reply-to: <b5d90b2a0704151002q59456856ud525db3096cef4ec@xxxxxxxxxxxxxx>
  • References: <46220EEA.6000705@xxxxxxxx> <4622576B.4040400@xxxxxxxx> <b5d90b2a0704151002q59456856ud525db3096cef4ec@xxxxxxxxxxxxxx>

2007/4/15, Alexey Polyakov:
Ну например можно заменить fcgi на apache, предварительно исправив в
нужном месте максимальное число воркеров, чтобы позволяло плодить
несколько тысяч.

( мы в свое время перейдя с apache-mod_php+postgresql  на
nginx+fcgi+postgres получили увеличение в 2 раза пропускной
способности - с 2 транзакций в секунду на celeron 2.7 до 4. Это в
100mbit lan, где узким местом был вовсе не трафик к клиенту.
при этом с нгинксом сохранялась отзывчивость, а апач быстро уходил в
штопор - после прекращения запросов машина полчаса еще выбиралась из
свопа :]. )

используемый тест с sleep некорректен: при медленной отдаче PHP
благополучно завершился и готов принимать новые запросы, а нгинкс
продолжает не спеша отдавать его ответ клиенту. В вашем же случае
впустую расходуется самый ценный ресурс - процессы PHP, количество
которых ограничено PHP_FCGI_CHILDREN. Соответственно, можно сделать
PHP_FCGI_CHILDREN=10000, благо они все равно  спят, но вряд ли
результаты такого тестирования будут полезны.

Интереснее проверить такое:

<?php
$load=500000;
echo "<html><body>";
for ($i=0; $i < 5; $i++) {
       echo "$i\n<br>";
       for ($j=0; $j < $load; $j++) { $d = $i^$j; }
};
echo "</body></html>\n";
?>

здесь увеличение количества одновременно работающих процессов php
увеличивает время работы каждого из них. по вкусу подобрать $load и
дополнить слипами, гонять /usr/sbin/ab -n 20000 -c 20 -Sdk
http://localhost:8080/index.php.

или взять bench.php c
http://sebastian-bergmann.de/archives/504-PHP-5.1-Performance.html,
работающий 30 секунд на Intel(R) Celeron(R) CPU 1.70GHz.


 




Copyright © Lexa Software, 1996-2009.