FcgidProcessLifeTime без эффекта

Я бегу PHP обработчик fcgid

LoadModule fcgid_module modules/mod_fcgid.so
FcgidMaxRequestsPerProcess 3000
FcgidMaxProcesses 3000
FcgidMaxProcessesPerClass 16
FcgidMinProcessesPerClass 1
FcgidProcessLifeTime 7200
FcgidIOTimeout 180
IPCConnectTimeout 60
FcgidIdleTimeout 600
FcgidIdleScanInterval 30
FcgidBusyTimeout 3600
FcgidBusyScanInterval 30
FcgidErrorScanInterval 3
FcgidZombieScanInterval 3
FcgidFixPathinfo 0
FcgidMaxRequestInMem 419430400
FcgidMaxRequestLen 1073741824

Процессы прекращаются каждые 10 минут или более, также я установил FcgidProcessLifeTime 7200

я использую mpm_worker также:

Timeout 50    
<IfModule worker.c>
      StartServers          16
      ServerLimit           1800
      MaxClients            1728
      MinSpareThreads       75
      MaxSpareThreads       250
      ThreadLimit          600
      ThreadsPerChild       64
      MaxRequestsPerChild   10000
      KeepAlive             On
      MaxKeepAliveRequests  50
      KeepAliveTimeout      5
    </IfModule>

Процессор: двойной Intel Xeon E5630, оперативная память: 32 ГБ DDR3, PHPv5.3.14

Как я могу решить эту проблему.? и сохранить время жизни процесса.

2 ответа

Это очень старый вопрос, но недавно пришлось обратиться к нему.

У тебя есть FcgidIdleTimeout 600,

Это означает, что если процесс простаивает в течение 10 минут, он будет остановлен независимо от того, что вы установили в FcgidProcessLifeTime,

Я не проверял это, но если вы хотите подтвердить, вы можете установить FcgidMaxProcessesPerClass 1 а затем отправлять запросы каждые 5 минут. Это должно держать этот процесс для FcgidProcessLifeTime потому что это никогда не будет праздным для FcgidIdleTimeout,

Таким образом, оптимизированная конфигурация будет зависеть от вашей рабочей нагрузки.

Я бы порекомендовал перейти на php-fpm с помощью mod_fastcgi или mod_proxy_fcgi (требуется Aapache 2.4). PHP-FPM осуществляет свое собственное управление процессами, и вы даже можете выбрать различные менеджеры процессов, подходящие для вашего сайта.

php-fpm становится все более и более стандартным способом развертывания приложений php.

Другие вопросы по тегам