Chapitre 17 · 17.5
503 ou « Resource Limit Is Reached » : que faire ?
Vous ouvrez votre site web et obtenez une page blanche avec 503 Service Unavailable, Resource Limit Is Reached ou The server is temporarily unable to service your request. Ou votre site web est soudainement très lent. Cela signifie presque toujours que votre offre atteint momentanément l'une de ses limites (voir Resource Usage : CPU, mémoire et processus). En général, cela ne dure pas longtemps et cela se résout de soi-même, mais si cela se produit souvent, vous voudrez en connaître la cause.
Étape 1 : consultez Resource Usage
- Dans DirectAdmin, sous Outils, cliquez sur Resource Usage.
- Un message indique que des limites ont été atteintes ? Cliquez sur DETAILS.
- Regardez à quel graphique correspondent les Faults, et à quel moment.
| Faults sur | Que se passe-t-il ? | Que pouvez-vous faire ? |
|---|---|---|
| Entry processes | Trop de requêtes simultanées. Les visiteurs reçoivent une erreur 503 ou Resource Limit Is Reached. | Activer le cache de page, bloquer les robots, rendre les pages lentes plus rapides. |
| CPU | Trop de calculs. Tout devient plus lent, et les requêtes restent plus longtemps en attente, ce qui sature aussi les entry processes. | Repérer les extensions gourmandes avec X-Ray, mettre en cache, utiliser une version plus récente de PHP. |
| Physical memory | Mémoire insuffisante. Les scripts sont interrompus. | Recherchez le script qui demande autant de mémoire ; n'augmentez pas memory_limit sans réfléchir (voir Options PHP : upload_max_filesize, memory_limit et max_execution_time). |
| IO ou IOPS | Le disque est trop sollicité. Le site devient lent, surtout dans l'administration. | Effectuer les grandes sauvegardes ou importations en dehors des heures de forte affluence, alléger les extensions, mettre en cache. |
| Processes | Trop de processus simultanés, par exemple à cause de tâches cron ou d'applications. | Répartir les tâches cron (voir Tâches CRON : exécuter automatiquement des tâches), redémarrer les applications bloquées. |
Il n'y a aucun fault ? Alors la lenteur n'est pas liée aux limites de votre offre. Passez directement à l'étape 3 et mesurez avec X-Ray où le temps est consommé.
Étape 2 : voyez qui visite votre site
Souvent, il ne s'agit pas d'une réelle affluence, mais d'un robot : un moteur de recherche qui parcourt tout votre site d'un coup, un robot d'indexation IA ou quelqu'un qui tente des milliers de fois de se connecter. Consultez les Journaux d'utilisation (voir Résumé du site & journaux : le journal des erreurs et le journal d'accès) autour de l'heure des faults. Vous voyez une adresse IP ou un type de robot revenir très souvent, ou de nombreuses requêtes vers wp-login.php ou xmlrpc.php ? Il est alors utile de les bloquer, par exemple avec une extension de sécurité ou des règles dans .htaccess.
Étape 3 : recherchez les pages lentes avec X-Ray
Avec X-Ray, vous voyez quelle extension, requête ou service externe prend le plus de temps (voir X-Ray : repérer les pages lentes).
Étape 4 : les solutions les plus efficaces
- Activez le cache. Installez dans WordPress l'extension LiteSpeed Cache. Une page issue du cache ne demande presque aucune puissance de calcul.
- Faites le tri parmi vos extensions. Supprimez celles que vous n'utilisez pas et remplacez les extensions gourmandes par des versions plus légères.
- Mettez tout à jour et utilisez une version récente de PHP (voir Choisir la version de PHP (Select PHP version)).
- Bloquez les robots qui submergent votre site.
- Répartissez vos sites web. Tous les domaines d'une même offre partagent les mêmes limites. Attribuez une offre dédiée à un site très fréquenté.
- Choisissez une offre plus grande. Si votre site web a tout simplement grandi, il a besoin de plus de puissance de calcul. Dans Mon WebOké, allez dans Mes produits, cliquez sur Administration au niveau de votre offre, puis choisissez une offre plus grande dans Changer d'offre d'hébergement. La mise à niveau prend effet immédiatement après le paiement, et vous ne payez que le supplément pour le reste de votre période en cours.
De nouveau accessible dès maintenant ?
Une erreur 503 due aux limites se résout généralement d'elle-même après quelques minutes, dès que l'affluence diminue. Si votre site web reste inaccessible, vérifiez aussi que votre adresse IP n'est pas bloquée (voir Problèmes de connexion résolus) et que votre espace de stockage n'est pas saturé (voir Stockage plein : où se trouve l'espace utilisé ?). Si vous n'y arrivez pas, créez un ticket en indiquant l'heure à laquelle le problème est survenu.
