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

Память с PHP FCGI продолжает расти, пока сервер не отвечает.

Мне нужен совет по настройке моего сервера.

С этими параметрами объем памяти продолжает расти, пока сервер не отключится без ошибок (Apache или PHP).

Может ли кто-нибудь помочь нам повысить производительность?

Сервер

  Windows Server
  Apache 2.4.12
  8 GB RAM

Конфиг

<IfModule mpm_winnt.c>
  ThreadsPerChild       125
  MaxRequestsPerChild     5000
  ThreadStackSize   8388608
</IfModule>

<IfModule fcgid_module> 
  FcgidMaxRequestLen 1073741824
  FcgidIOTimeout 300
  FcgidBusyTimeout 300
  FcgidIdleTimeout 300
  FcgidIdleScanInterval 60

  FcgidOutputBufferSize 1073741824
  FcgidMaxRequestsPerProcess 1000
  FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 0
  FcgidInitialEnv PHP_FCGI_CHILDREN 0
  FcgidMaxProcesses 45
  FcgidMaxProcessesPerClass 50
  FcgidProcessLifeTime 300
 FcgidMinProcessesPerClass 1
</IfModule> 

Мы поняли, что антивирус (McAfee) был основной проблемой, не освобождая память процесса.

После этого мы доработали мою конфигурацию.

<IfModule fcgid_module> 
  FcgidMaxRequestLen 1073741824
  FcgidIOTimeout 300
  FcgidBusyTimeout 300
  FcgidIdleTimeout 30
  FcgidIdleScanInterval 6
  FcgidOutputBufferSize 1073741824
  FcgidMaxRequestsPerProcess 1000
  FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 0
  FcgidInitialEnv PHP_FCGI_CHILDREN 0
  FcgidMaxProcesses 45
  FcgidMaxProcessesPerClass 50
  FcgidProcessLifeTime 30
  FcgidMinProcessesPerClass 1
</IfModule>