El error «mod_fcgid no puede aplicar el espacio de proceso» es un error común que se produce en los servidores web que utilizan el módulo mod_fcgid de Apache. Este error puede producirse por una serie de razones, como una configuración incorrecta y que precisa una optimiza configuración dado el servidor vps para prestashop
¿Qué es FastCGI?
FastCGI es un protocolo de comunicación entre un servidor web y un proceso PHP. Permite que el servidor web envíe solicitudes a un proceso PHP en un subproceso separado, lo que puede mejorar el rendimiento.
¿Qué es FPM?
FPM es una implementación de FastCGI que se incluye con el servidor web Apache. Es una opción popular para servidores VPS, ya que es fácil de configurar y mantener.
FcgidMaxProcesses,FcgidMaxProcessesPerClass ,FcgidMaxRequestsPerProcess
La cantidad de tráfico que espera recibir su sitio web. Si espera un alto volumen de tráfico, necesitará asignar más recursos a los procesos FastCGI.
Los recursos disponibles en su servidor. Si su servidor tiene poca memoria o espacio en disco, necesitará limitar el número de procesos FastCGI que se pueden ejecutar simultáneamente.
El tipo de aplicaciones que ejecuta su sitio web. Algunas aplicaciones, como CMS como WordPress, utilizan más recursos que otras aplicaciones.
Para calcular el valor correcto de FcgidMaxProcesses, FcgidMaxProcessesPerClass y FcgidMaxRequestsPerProcess, debe considerar los siguientes factores:
La cantidad de tráfico que espera recibir su sitio web. Si espera un alto volumen de tráfico, necesitará asignar más recursos a los procesos FastCGI.
Los recursos disponibles en su servidor. Si su servidor tiene poca memoria o espacio en disco, necesitará limitar el número de procesos FastCGI que se pueden ejecutar simultáneamente.
El tipo de aplicaciones que ejecuta su sitio web. Algunas aplicaciones, como CMS como WordPress, utilizan más recursos que otras aplicaciones.
Una vez que haya considerado estos factores, puede comenzar a calcular los valores de las directivas.
Configuración FcgidMaxProcesses
El valor de FcgidMaxProcesses debe ser menor o igual al número total de procesos que su servidor puede ejecutar simultáneamente. Para calcular este valor, puede usar la siguiente fórmula:
FcgidMaxProcesses = (Número total de procesos que el servidor puede ejecutar simultáneamente) – (Número de procesos utilizados por otras aplicaciones)
Por ejemplo, si su servidor puede ejecutar 1000 procesos simultáneamente y tiene 200 procesos en ejecución para otras aplicaciones, puede configurar FcgidMaxProcesses en 800.
Configuración FcgidMaxProcessesPerClass
El valor de FcgidMaxProcessesPerClass debe ser menor o igual al valor de FcgidMaxProcesses. Para calcular este valor, puede usar la siguiente fórmula:
FcgidMaxProcessesPerClass = (FcgidMaxProcesses) / (Número de aplicaciones que utilizan FastCGI)
Por ejemplo, si tiene 10 aplicaciones que utilizan FastCGI, puede configurar FcgidMaxProcessesPerClass en 80.
Configuración FcgidMaxRequestsPerProcess
El valor de FcgidMaxRequestsPerProcess debe ser un número mayor que 0. Este valor controla el número de solicitudes que un proceso FastCGI puede manejar antes de ser reiniciado. Para calcular este valor, puede usar la siguiente fórmula:
FcgidMaxRequestsPerProcess = (Número máximo de solicitudes que espera recibir una aplicación) * (Factor de seguridad)
El factor de seguridad debe ser un número mayor que 1. Se recomienda utilizar un factor de seguridad de 2 o 3. Por ejemplo, si espera que una aplicación reciba un máximo de 1000 solicitudes por minuto, puede configurar FcgidMaxRequestsPerProcess en 2000 o 3000.
Es importante tener en cuenta que estos son solo cálculos aproximados. Los valores óptimos de FcgidMaxProcesses, FcgidMaxProcessesPerClass y FcgidMaxRequestsPerProcess variarán según su sitio web específico. Puede comenzar utilizando los valores calculados anteriormente y ajustar la configuración según sea necesario.
También es importante monitorizar su sitio web para asegurarse de que los procesos FastCGI tengan suficientes recursos y de que no estén causando errores.
Solución mod_fcgid: can’t apply process slot
Finalmente Editamos el fichero de configuración
apache2/mods-available/fcgid.conf
Y aumentamos la configuración de apache con los siguientes valores
FcgidIdleTimeout 400
FcgidProcessLifeTime 300
FcgidMaxProcesses 50
FcgidMaxProcessesPerClass 10
FcgidMinProcessesPerClass 0
FcgidConnectTimeout 300
FcgidIOTimeout 450
FcgidInitialEnv RAILS_ENV production
FcgidIdleScanInterval 10