httpd-users-de mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mario Brandt <jbl...@gmail.com>
Subject Re: hohe Hauptspeicherauslastung der httpd.exe
Date Wed, 27 Jan 2010 16:28:22 GMT
Hallo Jürgen,
dein Problem ist MaxRequestsPerChild  5000. Dieser Wert sollte unter
Windows eigentlich auf 0 stehen damit der Kind (child) Prozess nie
neugestartet werden muss.
Windows benutzt ja ein Thead Model und nicht prefork wie linux / unix,
wo viele Kindprozesse gestartet werden, sondern nur ein kind.
0 ist auch die Standarteinstellung für Windows von apache.org aus.

Das es 5 Minuten dauert bis Dienst neustartet habe ich noch nicht
erlebt. Ich vermute aber, dass der Dienst graceful neustartet. Also
erst mal alle bestehenden Verbindungen abarbeitet und dann natürlich
noch alle php-cgi.exe Prozesse killen muss.

Die Lebenszeit jedes php-cgi.exe Prozesses kannst Du mit
ProcessLifeTime steuern.
MaxProcessCount solltest Du je nach Auslastung der PHP Anwendung anpassen.

Hier mal ein vhost aus der Praxis. Die anderen vhosts auf dem server
laufen mit php als modul

LoadModule fcgid_module modules/mod_fcgid.so
IPCCommTimeout 40
IPCConnectTimeout 10
MaxProcessCount 50
OutputBufferSize 64
ProcessLifeTime 240
MaxRequestsPerProcess 500
DefaultMinClassProcessCount 0

DefaultInitEnv PATH
"c:/php-nts;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
DefaultInitEnv SystemRoot "C:/Windows"
DefaultInitEnv SystemDrive "C:"
DefaultInitEnv TEMP "C:/WINDOWS/Temp"
DefaultInitEnv TMP "C:/WINDOWS/Temp"
DefaultInitEnv windir "C:/WINDOWS"

<VirtualHost *:80>
    DocumentRoot c:/www_fcgi
    ServerName fcgi.local
    ErrorLog c:/logs/fcgi.error.log
    CustomLog c:/logs/fcgi.access.log common
  <Directory "c:/www_fcgi">
	<IfModule mod_fcgid.c>
	SetEnv PHPRC "c:/php-nts"
      	AddHandler fcgid-script .php
      	Options Indexes FollowSymLinks ExecCGI
      	FCGIWrapper "C:/php-nts/php-cgi.exe" .php
	</IfModule>
      AllowOverride all
      Order allow,deny
      Allow from all
      Satisfy any
  </Directory>
</VirtualHost>


Zeilen wie die nächste lassen sich leider nicht abschalten.

[Wed Jan 27 17:16:15 2010] [notice] mod_fcgid: call
c:/www_fcgi/some.php with wrapper c:/php-nts/php-cgi.exe


Anmerkung: php-nts (non thread safe) weil der PHP Prozess nicht im
apache lauft , sondern separat kann der auch mal abschmieren, dafür
läuft das ein wenig schneller als die thread safe variante.

Sonst noch Fragen zum apache tuning unter Windows? ;-)

Gruß
Mario

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Mime
View raw message