суть проблемы: есть сайт с приличным кол-вом народу сидящим разом на 1й части (400-600 человек разом), все живет на апаче 2, система сусе 10.3
2 варианта:
1. если апач стоит prefork то иногда всего процессы жрут максимум проца(стоит 4х головый феном(не коментим это), 2 гига памяти)(в логе пусто по этому поводу), около 19% по top, так же лагает даже консоль в ssh
<IfModule prefork.c>
StartServers 100
MinSpareServers 10
MaxSpareServers 600
ServerLimit 800
MaxClients 800
MaxRequestsPerChild 10000
</IfModule>но в этом случае база и проц в не так сильно нагружаются как во 2м варианте, нагруз на проц в рабочем виде 10-20%
2. если апач worker и php как fastcgi то иногда пропадают все процессы php, в логе:
[alert] (10)No child processes: FastCGI: read() from pipe failed (0)
[alert] (10)No child processes: FastCGI: the PM is shutting down, Apache seems to have disappeared - bye
при этом сам апач пашет нормальноконфиг воркера:
<IfModule worker.c>
ServerLimit 64
StartServers 16
MinSpareThreads 25
MaxSpareThreads 96
ThreadLimit 96
MaxClients 768
ThreadsPerChild 32
MaxRequestsPerChild 10000
</IfModule>конфиг mod_fastcgi:
<IfModule !mod_fastcgi.c>
<Directory "/srv/www/fcgi-bin">
AllowOverride None
Options None
Order allow,deny
Deny from all
</Directory>
</IfModule><IfModule mod_fastcgi.c>
FastCgiIpcDir /var/lib/apache2/fastcgi
<Directory "/srv/www/fcgi-bin">
AllowOverride None
Options +ExecCGI -Includes FollowSymLinks
SetHandler fastcgi-script
Order allow,deny
Allow from all
</Directory>
Alias /fcgi-bin/ /srv/www/fcgi-bin/
FastCgiConfig -maxProcesses 256 -restart
FastCgiServer /srv/www/fcgi-bin/php5 -processes 64
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /fcgi-bin/php5
DirectoryIndex index.html index.htm index.php
</IfModule>/srv/www/fcgi-bin/php5 симлинк на /usr/bin/php5
кто что может посоветовать, чтобы апач перестал падать :) ?
какой резон пхп как FastCGI? Т.е. worker + mod_php5 никогда нареканий не вызывает
>какой резон пхп как FastCGI? Т.е. worker + mod_php5 никогда нареканий не
>вызываетрасскажи как плиз
в виде пакета, мод пхп упорно требует префорк
>[оверквотинг удален]
>
> AddType application/x-httpd-fastphp .php
> Action application/x-httpd-fastphp /fcgi-bin/php5
> DirectoryIndex index.html index.htm index.php
>
></IfModule>
>
>/srv/www/fcgi-bin/php5 симлинк на /usr/bin/php5
>
>кто что может посоветовать, чтобы апач перестал падать :) ?Если стоит opcode кешер какой-нить, то fastcgi может падать из-за сегментации и краша opcode кеша. Кроме того у дефолтного php каждый fastcgi процесс имеет собственный opcode кеш. У меня давно и стабильно работают проекты с высокой нагрузкой под nginx + php-fpm, т.е. совсем без апача. fpm сам умеет восстанавливаться, если вдруг сломался opcode кэш. При этом он даже не теряет реквестов.
>Если стоит opcode кешер какой-нить, то fastcgi может падать из-за сегментации и
>краша opcode кеша. Кроме того у дефолтного php каждый fastcgi процесс
>имеет собственный opcode кеш. У меня давно и стабильно работают проекты
>с высокой нагрузкой под nginx + php-fpm, т.е. совсем без апача.
>fpm сам умеет восстанавливаться, если вдруг сломался opcode кэш. При этом
>он даже не теряет реквестов.стоить только eaccelerator
>>Если стоит opcode кешер какой-нить, то fastcgi может падать из-за сегментации и
>>краша opcode кеша. Кроме того у дефолтного php каждый fastcgi процесс
>>имеет собственный opcode кеш. У меня давно и стабильно работают проекты
>>с высокой нагрузкой под nginx + php-fpm, т.е. совсем без апача.
>>fpm сам умеет восстанавливаться, если вдруг сломался opcode кэш. При этом
>>он даже не теряет реквестов.
>
>стоить только eacceleratoreaccelerator и есть одна из реализаций opcode кешеров. Читаем:
>eAccelerator is a free open-source PHP accelerator, optimizer, and dynamic content cache.
>It increases the performance of PHP scripts by caching them in their compiled state...compiled state для php скрипта это и есть его опкоды.