logo
Apache Lounge
Webmasters

 

About Forum Index Downloads Search Register Log in RSS X


Keep Server Online

If you find the Apache Lounge, the downloads and overall help useful, please express your satisfaction with a donation.

or

Bitcoin

A donation makes a contribution towards the costs, the time and effort that's going in this site and building.

Thank You! Steffen

Your donations will help to keep this site alive and well, and continuing building binaries. Apache Lounge is not sponsored.
Post new topic   Forum Index -> Apache View previous topic :: View next topic
Reply to topic   Topic: Apache + MODFCGI configuration tips?
Author
dke



Joined: 13 Jul 2007
Posts: 61
Location: sweden

PostPosted: Sat 23 May '15 1:44    Post subject: Apache + MODFCGI configuration tips? Reply with quote

Hi,

I'm very confused how to benchmark and configure FCGI.

My current settings are:

Code:
LoadModule fcgid_module modules/mod_fcgid.so
<IfModule fcgid_module>
   FcgidInitialEnv PATH "C:/Webserver/PHP;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
   FcgidInitialEnv SystemRoot "C:/Windows"
   FcgidInitialEnv SystemDrive "C:"
   FcgidInitialEnv TEMP "C:/Webserver/PHP/TEMP"
   FcgidInitialEnv TMP "C:/Webserver/PHP/TEMP"
   FcgidInitialEnv windir "C:/WINDOWS"
   FcgidMaxProcesses 1000
   ThreadsPerChild 2048
   FcgidIOTimeout 1200
    FcgidConnectTimeout 1200
    FcgidBusyScanInterval 1200
    FcgidBusyTimeout 1200
    FcgidErrorScanInterval 1200
    FcgidIdleScanInterval 1200
    FcgidIdleTimeout 1200
    FcgidProcessLifeTime 3600
    FcgidZombieScanInterval 1200
   FcgidProcessLifeTime 400
   FcgidMaxRequestsPerProcess 9000
   FcgidMinProcessesPerClass 0
   FcgidMaxRequestLen 12131072
   # Location php.ini:
   FcgidInitialEnv PHPRC "C:/Webserver/PHP"
   FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 10000
   FcgidInitialEnv PHP_FCGI_CHILDREN=0

   <Files ~ "\.php$">
      Options Indexes FollowSymLinks ExecCGI
      AddHandler fcgid-script .php
      FcgidWrapper "C:/Webserver/PHP/php-cgi.exe" .php
   </Files>
</IfModule>


And i'm experiencing after site uptime over a couple of days without restarting apache it slows down, i get a lot of "mod_fcgi: process xxxxx gracful kill fail sending STRKILL.

If i lower the timeout values i get these too "End of script outbut before headers: file.php

Any idea how i can tweak it to work better?

8gb ram
ssd
windows 2012 server
Back to top
James Blond
Moderator


Joined: 19 Jan 2006
Posts: 7373
Location: Germany, Next to Hamburg

PostPosted: Tue 26 May '15 18:04    Post subject: Reply with quote

The mod_fcgi: process xxxxx gracful kill fail sending STRKILL. is normal since on windows the process nevers get killed graceful. I already posted a patch for that on the httpd dev mailing list. It will be in the next release of mod fcgid.

End of script outbut before headers
it seems that your script run very long.

The works for me (TM) config on windows
Code:

<IfModule fcgid_module>
   FcgidConnectTimeout 10
   FcgidMaxProcesses 300
   FcgidMaxProcessesPerClass 300
   FcgidOutputBufferSize 64
   ProcessLifeTime 0
   FcgidMaxRequestsPerProcess 0
   FcgidMinProcessesPerClass 0
   FcgidFixPathinfo 0
   FcgidProcessLifeTime 0
   FcgidZombieScanInterval 20
   FcgidMaxRequestLen 536870912
   FcgidIOTimeout 120
   FcgidTimeScore 3
</IfModule>

<VirtualHost _default_:80>
   IndexOptions +XHTML
   HeaderName /HEADER.html
   DocumentRoot "/Users/james/work"
   CustomLog "C:\nul" common
   <IfModule fcgid_module>
      FcgidInitialEnv PHPRC "C:\\Users\james\\php5"
      FcgidInitialEnv PATH "C:\\Users\james\\php5;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;"
      FcgidInitialEnv SystemRoot "C:\\Windows"
      FcgidInitialEnv SystemDrive "C:"
      FcgidInitialEnv TEMP "C:\\WINDOWS\\TEMP"
      FcgidInitialEnv TMP "C:\\WINDOWS\\TEMP"
      FcgidInitialEnv windir "C:\\WINDOWS"
      FcgidPassHeader Authorization
      <Files ~ "\.php$">
         Options ExecCGI
         AddHandler fcgid-script .php
         FcgidWrapper "C:/users/james/php5/php-cgi.exe" .php
      </Files>
      <Files ~ "\.html$">
         Options Indexes FollowSymLinks ExecCGI
         AddHandler fcgid-script .html
         FcgidWrapper "C:/users/james/php5/php-cgi.exe" .html
      </Files>
   </IfModule>
   <Directory "/Users/james/work">
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
   </Directory>
</VirtualHost>
Back to top
dke



Joined: 13 Jul 2007
Posts: 61
Location: sweden

PostPosted: Sun 31 May '15 22:14    Post subject: Reply with quote

Thanks james, i managed to tweak the parameters to avoid having the "End of script outbut before headers"

What is your recommendation for a PHP cache? Back in the day i remember downloading eaccellerator from your site. PHP has some built in thing called "OPcache" is that equally as good?

What configurations would you set?
Back to top
Smitty



Joined: 03 Jan 2008
Posts: 197

PostPosted: Sun 31 May '15 22:17    Post subject: Reply with quote

Opcache is a must. Here are the recommended settings:

https://github.com/zendtech/ZendOptimizerPlus
Back to top
James Blond
Moderator


Joined: 19 Jan 2006
Posts: 7373
Location: Germany, Next to Hamburg

PostPosted: Mon 01 Jun '15 16:43    Post subject: Reply with quote

Yepp OPCache is awesome. The first request is slow and the following requests are fast.

Cause it starts over when the php-cgi process dies after its lifetime or max. number of requests or if you restart apache.
Back to top


Reply to topic   Topic: Apache + MODFCGI configuration tips? View previous topic :: View next topic
Post new topic   Forum Index -> Apache