Задать вопрос

Проблемы с доступностью сервера: как исправить ошибку «mod_fcgid: can't apply process slot for /srv/cgi/php-fcgi-starter»?

Здравствуйте.
Только что переехали на новый сервер: 12 ядер, ssd диск, 64Gb оперативки.
На сервере стоит Apache worker, mod _fcgi, php-fpm, nginx.
На сервере высоко посещаемый сайт и множество локальных приложений обращаются к php скрипту на сервере.

Сразу появилась проблема с ответами сервера. Некоторое время ответ от php скрипта 0,2-0,3 секунды, затем оно плавно увеличивается до 2х, 3х, 10и секунд, затем сервер не отвечает, затем все становиться нормально. Вот скриншот нескольких подключений каждые 30 секунд:
content.screencast.com/users/Bred_s/folders/Jing/m...

Эти проблемы сопровождаются ошибкой mod_fcgid: can't apply process slot for /srv/cgi/php-fcgi-starter

Настройки такие:
Апач:
<IfModule mpm_worker_module>
	ServerLimit 50
	MaxClients         2496
	MinSpareThreads     128
	MaxSpareThreads     350
	ThreadsPerChild     64
	MaxRequestsPerChild  200
</IfModule>


в VirtualHost
<IfModule mod_fcgid.c>
	  FcgidBusyTimeout 3600
	  MaxRequestsPerProcess 2000
	  DefaultMaxClassProcessCount 120
	  MaxRequestsPerProcess 200
	  IdleTimeout 60
	  IPCCommTimeout 60
	  IPCConnectTimeout 30
	  MaxRequestLen 10240000
	<Directory /srv/www/>
		Options -Indexes FollowSymLinks +ExecCGI
		AllowOverride All
		AddHandler fcgid-script .php
		FCGIWrapper /srv/cgi/php-fcgi-starter .php #<--------------------------------------
		Order allow,deny
		allow from all
	</Directory>
</IfModule>


В файле php-fcgi-starter такие настройки:
#!/bin/sh
#PHPRC="/usr/local/etc"
#export PHPRC
#PHP_FCGI_CHILDREN=16
#export PHP_FCGI_CHILDREN
#PHP_FCGI_MAX_REQUESTS=18000
#export PHP_FCGI_MAX_REQUESTS
exec /usr/lib/cgi-bin/php5


В гугле, из информации по этой ошибке нашел рекомендации, задать настройке FcgidMaxProcesses или MaxProcesses (везде по разному пишут) большое значение. Однако если выставляю эту настройку в VirtualHost в секцию IfModule mod_fcgid.c то апач ругается что синтаксическая ошибка в конфиге.

Подскажите пожалуйста оптимальный вариант настройки, даже ресурсоемкого, это не проблема, для большого количества подключений. Или просто вариант избавления от данной проблемы.
  • Вопрос задан
  • 7037 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Апач как таковой Вам вообще зачем?
nginx+php-fpm с hightload справляются на ура.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы