Heim > Artikel > Backend-Entwicklung > Was tun, wenn zu viele PHP-cgi.exe-Prozesse vorhanden sind?
Lösung für zu viele php cgi.exe-Prozesse: Überprüfen Sie zunächst den Speicherplatz des Systems, um zu sehen, ob zu viele temporäre Systemdateien vorhanden sind. Verwenden Sie dann den Befehl „del *.*“, um alle Dateien zu löschen Gehen Sie zu Schritt 2 der Programmkonfigurationsdatei und optimieren Sie schließlich die Parameter der FastCGI-Konfigurationsdatei.
Empfohlen: „PHP-Video-Tutorial“
Lösung für zu viele php-cgi.exe-Prozesse:
Lösung für zu viele php-cgi.exe-Prozesse auf dem Server, die eine CPU-Auslastung von 100 % verursachen :
1. Überprüfen Sie den Speicherplatz auf der Systemfestplatte. Überprüfen Sie, ob zu viele temporäre Dateien im System vorhanden sind. Die temporären Dateien der MySQL-Datenbank werden standardmäßig in c:/windows/temp gespeichert, was zur Ansammlung von Zehntausenden oder sogar Millionen kleiner Dateien führt und die Systemfestplatte überlastet .
del *.* Alle Dateien löschen
2. Es gibt keine integrierte Unterstützung für die PHP-Sprache in IIS. Um PHP zu verwenden, müssen Sie es selbst installieren. PHP kann im CGI-Modus oder im ISAPI-Modus installiert werden. Da der ISAPI-Modus eine höhere Leistung bietet, wird die Verwendung des ISAPI-Modus empfohlen.
3. Wenn Sie das Programm ändern können, wird empfohlen, den StartProcesses-Wert in der Programmkonfigurationsdatei auf 2 zu reduzieren, um zu sehen, ob es sich verbessert.
4. Überprüfen Sie, ob es Probleme mit dem Server und Angriffe gibt.
Optimieren Sie die Fastcgi-Konfigurationsdatei fcgiext.ini in Windows 2003 IIS6, um die Anzahl der php-cgi.exe-Prozesse und die Speichergröße zu reduzieren.
Die Konfigurationsumgebung ist Windows 2003 IIS6 fastcgi (FCGI) PHP5.2.17 und wird gefunden dass es im FastCGI-Modus funktioniert. Wenn die Anzahl der Besuche etwas höher ist, werden N mehr PHP-CGI-Prozesse benötigt. In der gleichen Situation können es Hunderte von MB mehr sein als bei der Verwendung von isapi Der Serverspeicher ist nur 2G groß und kann nicht beschädigt werden.
Die Lösung für dieses Problem besteht darin, die Parameter der Fastcgi-Konfigurationsdatei in der Webserverkonfiguration zu optimieren.
Sie können die Parameter im Zusammenhang mit dem PHP-CGI-Prozess in der Datei c: WindowsSystem32InetsRVFCGiext.ini festlegen, wie z. Instanz Die maximale Anzahl von Anforderungen, die verarbeitet werden können,
maxInstances gibt die maximale Anzahl von Instanzen an, die gestartet werden können,
EnvironmentVars erstellt eine Umgebungsvariable PHP_FCGI_MAX_REQUESTS, der Standardwert ist auf 10000 gesetzt,
requestTimeout gibt das Anforderungszeitlimit an 600 Sekunden,
activityTimeout Es wird ein aktives Sitzungs-Timeout von 900 Sekunden angegeben. „Das Folgende ist der empfohlene Wert.“ Ändern Sie maxInstances=140
für 2G-SpeicherErneut ändern
[Types] php = PHP [PHP] ExePath=C:\php-5.3.8-nts-Win32-VC9-x86\php-cgi.exe maxInstances=100 InstanceMaxRequests=10000 EnvironmentVars=PHP_FCGI_MAX_REQUESTS:10000 RequestTimeout=600 ActivityTimeout=900
Es wird empfohlen, diesen Wert auf einen kleineren Wert zu ändern
Change InstanceMaxRequests=200
für 512M-Speicher; Change InstanceMaxRequests=300
für 1G-Speicher; Change InstanceMaxRequests=50 0
für 2G Starten Sie IIS nach der Änderung neu.
Das obige ist der detaillierte Inhalt vonWas tun, wenn zu viele PHP-cgi.exe-Prozesse vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!