web-dev-qa-db-fra.com

Quelles sont les possibilités pouvant provoquer l'erreur "Service indisponible 503"?

une application MVC asp.net est déployée sur un serveur, mais lorsque le nombre de requêtes adressées au serveur est trop important, le client reçoit simplement une erreur "Service 503 indisponible".
Mais si je déployais l’application sur un autre serveur (configuration matérielle inférieure), tout fonctionnait bien, et même plus de demandes qu’il pouvait gérer.
Ma question est quelle configuration possible peut amener le serveur précédent à simplement émettre une erreur 503? (ce qui signifie que les demandes n'ont pas atteint notre application).

52
MemoryLeak

Vos pages Web sont servies par un pool d'applications. Si vous désactivez/arrêtez le pool d'applications et que quelqu'un tente de parcourir l'application, vous obtiendrez un service indisponible. Cela peut arriver pour plusieurs raisons ...

  1. Votre application s'est peut-être bloquée [consultez l'observateur d'événements et voyez si vous pouvez trouver des journaux d'événements dans votre journal Applications/Système]

  2. Votre application risque de planter très fréquemment. Si un pool d'applications se bloque 5 fois en 5 minutes [vérifiez les paramètres de votre pool d'applications pour un échec rapide], votre pool d'applications est désactivé par IIS et vous finirez par recevoir ce message.

Dans les deux cas, le problème est que votre processus de travail échoue et que vous devez le résoudre du point de vue du crash.

Qu'est-ce qu'un crash (techniquement) ... dans ASP.NET et que faire si cela se produit?

66
Rahul Soni

Si le serveur n'a pas assez de mémoire, cela causera également ce problème. Ceci est mon expérience personnelle avec Godaddy VPS.

7
Yesu Raj

Cela signifie principalement qu'il y a trop de demandes simultanées et qu'elles dépassent les 1 000 demandes en file d'attente par défaut. C’est-à-dire qu’il ya au moins 1000 demandes en attente sur votre site Web.

Cela peut se produire (en supposant qu'il n'y ait aucune erreur dans votre application) si les tâches sont longues à exécuter et, par conséquent, la file d'attente des demandes est sauvegardée.

En fonction de la configuration du pool d'applications, vous constaterez peut-être ce genre de chose. En règle générale, le modèle de processus du pool d'applications contient un élément appelé Nombre maximal de processus de travail. Par défaut, il s'agit de 1. Si vous définissez une valeur supérieure à 1 (généralement, un nombre maximal de cœurs sur le matériel), il est possible que cela ne se produise pas.

Juste pour noter que, sauf si le site est extrêmement occupé, vous ne devriez pas le voir. Si vous le faites, cela pointe vraiment vers des tâches longues

4
Shiv Kumar

Nous avons récemment rencontré cette erreur. La cause principale s'est avérée être un certificat SSL expiré sur le serveur IIS. L'équilibreur de charge (en face de notre niveau Web) a détecté que le SSL a expiré, et au lieu de gérer Le trafic HTTP sur l'un des serveurs IIS, a commencé à afficher cette erreur. Donc en gros IIS impossible de répondre aux demandes du serveur, pour une raison totalement différente :)

4
Adnan