Maison >développement back-end >Problème PHP >Que faire s'il y a trop de processus php cgi.exe
La solution au problème du trop grand nombre de processus php cgi.exe : vérifiez d'abord l'espace disque système pour voir s'il y a trop de fichiers système temporaires, puis utilisez la commande "del *.*" pour tous les supprimer ; fichiers ; puis ajoutez le fichier de configuration du programme à La valeur StartProcesses est réduite à 2 ; optimisez enfin les paramètres du fichier de configuration fastcgi.
Recommandé : "Tutoriel vidéo PHP"
Solution à trop de processus php cgi.exe :
Le serveur a trop de processus php-cgi.exe, ce qui fait que le processeur occupe 100 %. Solution :
1. Vérifiez l'espace disque du système. Vérifiez s'il y a trop de fichiers temporaires dans le système. Les fichiers temporaires de la base de données MySQL sont stockés par défaut dans c:/windows/temp, ce qui entraîne l'accumulation de dizaines de milliers, voire de millions de petits fichiers, surchargeant le disque système. .
del *.* Supprimer tous les fichiers
2. Il n'y a pas de support intégré pour le langage PHP dans IIS Pour utiliser PHP, vous devez l'installer vous-même. PHP peut être installé en mode CGI ou en mode ISAPI. Le mode ISAPI étant plus performant, il est recommandé d'utiliser le mode ISAPI.
3. Si vous pouvez modifier le programme, il est recommandé de réduire la valeur StartProcesses dans le fichier de configuration du programme à 2 pour voir si cela s'améliore.
4. Vérifiez si le serveur a des problèmes ou des attaques.
Optimiser le fichier de configuration fastcgi fcgiext.ini dans Windows 2003 IIS6 pour réduire le nombre de processus php-cgi.exe et la taille de la mémoire
L'environnement de configuration est Windows 2003 IIS6 fastcgi (FCGI) PHP5.2.17 a constaté que PHP fonctionnant en mode FastCGI occupera de plus en plus de mémoire. Si le volume d'accès est légèrement supérieur, il y aura N processus php-cgi supplémentaires. Dans la même situation, cela peut représenter des centaines de Mo de plus qu'auparavant. en utilisant le mode isapi. Le serveur n'a que 2 Go de mémoire, donc je ne peux pas me le permettre.
La solution à ce problème est d'optimiser les paramètres du fichier de configuration fastcgi dans la configuration du serveur Web.
Vous pouvez définir les paramètres liés au processus php-cgi dans le fichier C:WINDOWSsystem32inetsrvfcgiext.ini, tels que :
[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
Dans la configuration ci-dessus :
ExePath spécifie l'analyse FastCGI Le chemin du programme,
instanceMaxRequests précise le nombre maximum de requêtes que chaque instance peut gérer,
maxInstances précise le nombre maximum d'instances pouvant être démarrées,
EnvironmentVars crée une variable d'environnement PHP_FCGI_MAX_REQUESTS, la valeur par défaut est définie sur 10000,
requestTimeout spécifie que le délai d'expiration de la demande est de 600 secondes,
activityTimeout spécifie que le délai d'expiration de la session active est de 900 secondes.
Voici les valeurs recommandées
maxInstances=
Il est recommandé de modifier cette valeur par une valeur plus petite
512 Mo de mémoire maxInstances=50
1G Changez la mémoire en maxInstances=80
2G changez la mémoire maxInstances=140
Puis modifiez
InstanceMaxRequests=
Il est recommandé de changer cette valeur en un valeur plus petite
Modification de la mémoire de 512 Mo InstanceMaxRequests=200
Mémoire de 1 Go modifiée InstanceMaxRequests=300
Mémoire de 2 Go modifiée InstanceMaxRequests=500
Après la modification, redémarrez IIS .
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!