Назад | Перейти на главную страницу

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>

Процессор: Dual Intel xeon E5630, ОЗУ: 32 ГБ DDR3, PHPv5.3.14

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

Это очень старый вопрос, но недавно его пришлось решать.

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

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

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

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

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

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