Maison > Article > développement back-end > Qu’est-ce que l’erreur php 503 ?
L'erreur php 503 est due à une maintenance temporaire du serveur ou à une surcharge. Le serveur est actuellement incapable de traiter la demande. Cette situation est temporaire et se rétablira après un certain temps. la réponse peut inclure Un en-tête [Retry-After] est utilisé pour indiquer ce délai.
L'erreur php 503 est :
Définition :
503
est un code de statut HTTPS. Le nom anglais 503 Service Unavailable et 404 (404 Not Found) sont le même code d'erreur d'état de page Web. Le premier est un statut de retour lorsqu'une erreur de serveur se produit, et le second est un statut renvoyé lorsqu'un programme de page Web n'a aucun résultat pertinent. Lors de l'optimisation d'un site Web, il est généralement nécessaire de créer une page d'erreur 404 pour l'optimisation globale du site Web. .
En raison d'une maintenance temporaire ou d'une surcharge du serveur, le serveur est actuellement incapable de traiter les demandes. Cette condition est temporaire et sera rétablie après un certain temps. Si le temps de retard peut être attendu, la réponse peut inclure un début Retry-After
pour indiquer le temps de retard. Si ces Retry-After
informations ne sont pas fournies, le client DEVRAIT les gérer de la même manière qu'il gère une réponse 500 (erreur interne du serveur).
Cause :
1. La page Web apparaît
1. L'administrateur réseau peut fermer le pool d'applications pour effectuer entretien.
2. La file d'attente du pool d'applications est pleine lorsque la demande arrive.
3. L'identification du pool d'applications n'utilise pas le compte prédéfini : service réseau, et l'identification est configurée par elle-même, mais l'utilisateur configuré n'appartient pas au IIS_WPG
groupe
4. Le pool d'applications est activé. La surveillance du processeur est activée et le pool d'applications est arrêté lorsque l'utilisation du processeur dépasse un certain pourcentage. Cependant, les pages du serveur (.asp, .aspx) écrites par les développeurs ne sont pas efficaces dans leur exécution. provoquer une occupation prolongée du processeur et finalement atteindre le pourcentage limite défini, provoquant l'arrêt du pool d'applications
5. La valeur renseignée dans la limite de la file d'attente des requêtes de l'onglet performances de l'application. le pool est trop petit et la valeur par défaut est 1 000.
6. La valeur de l'attribut web.config
du nœud system.web/httpRuntime
de appRequestQueueLimit
est trop faible.
2. Site hôte
Il y a deux raisons principales :
1. Le dernier type d'attaque est en fait un dérivé du DDoS. Le principe est de trouver des milliers d'adresses IP, d'envoyer des requêtes au serveur Apache en même temps, puis de se déconnecter immédiatement, laissant Apache dans un état d'attente, ce qui provoque l'arrêt de tous les threads Apache. rempli, ce qui entraîne Le serveur est en panne.
Par conséquent, afin de garantir les intérêts de la plupart des clients, nous avons fixé une limite de 64 requêtes php toutes les 19 secondes pour chaque espace. Notez qu'il s'agit d'une requête php, les requêtes générales d'images et les requêtes html ne sont pas incluses.
2. Ce programme occupe trop de threads php. Certains programmes ne sont pas bien optimisés. Un clic peut générer plusieurs voire des dizaines de threads php. Dans ce cas, quelques clics peuvent remplir les 64 threads PHP au cours de cette période. D'où l'erreur 503. Il est recommandé d'optimiser le programme et d'utiliser le moins possible require (qui signifie « requête ») et d'autres instructions.
Recommandations d'apprentissage associées : Programmation PHP de l'entrée à la maîtrise
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!