Base de connaissances›Webhosting›Erreur 503 Service Temporarily Unavailable

Webhosting – Erreur 503 Service Temporarily Unavailable

Sur cette pageErreur 503 : Service temporarily unavailableRésolution de l'erreur 503Foire aux questions

L’erreur 503 apparaît souvent de façon ponctuelle. Pour surveiller votre site et recevoir des informations sur la disponibilité du service par e-mail ou par d’autres canaux, envisagez d’utiliser le service complémentaire EWM ⧉.

Si vous rencontrez fréquemment l’erreur 503 sur un hébergement avec WordPress, consultez également l’article Webhosting – WordPress.

Dans cet article, vous découvrirez :


Erreur 503 : Service temporarily unavailable

Vous reconnaîtrez l’erreur 503 au grand titre Service Temporarily Unavailable en haut de la page. Sous ce titre, vous trouverez une description de l’erreur en anglais et un lien vers cet article.

Page avec l'erreur 503 Service temporarily unavailable
Page avec l’erreur 503 Service temporarily unavailable

Avec l’erreur 503 Service Temporarily Unavailable sur n’importe quel site qui utilise PHP ou des technologies similaires pour fonctionner. Le serveur tourne à plein régime, mais ne répond pourtant plus aux nouvelles requêtes. Ces problèmes sont généralement dus à l’atteinte des limites de certains paramètres du Webhosting.


Résolution de l’erreur 503

Chaque Webhosting NoLimit ⧉ dispose sur notre serveur de jusqu’à 25 processus PHP réservés (7 pour LowCost ⧉, 30 pour Extra ⧉), qui peuvent s’exécuter simultanément. Cela signifie qu’à un instant donné, le processeur peut traiter au maximum ce nombre de requêtes PHP. Les requêtes que le processeur n’arrive pas à traiter en raison de leur durée sont placées dans une file d’attente et attendent leur tour. Si elles n’obtiennent pas de processus PHP libre dans un délai donné (appelé timeout), elles renvoient l’erreur 503.

Dans des conditions normales, 25 processus PHP suffisent – si vos pages sont correctement optimisées, vous ne rencontrerez pas ce problème. 

L’erreur 503 est le plus souvent causée par :

Attaque sur le serveur web

Les attaques ou d’autres formes de saturation de votre site par des requêtes qui épuisent les processus et empêchent les vrais utilisateurs d’accéder au site sont une cause courante de l’erreur 503. Dans ce cas, l’erreur apparaît généralement par à-coups et dure de quelques minutes à plusieurs dizaines de minutes.

Vous pouvez détecter ce problème en activant la journalisation selon le guide Webhosting – Journalisation, aussi bien pour l’Accesslog que pour l’Errorlog.

  • Dans Access log vous trouverez la liste des accès à votre site, y compris les adresses précises. Des adresses ou des paramètres absurdes (dans l’adresse, après le caractère ?) sont un signe courant d’attaque.
  • Dans Error log vous trouverez les heures auxquelles l’erreur 503 s’est produite. Si ces heures coïncident avec les pics d’accès dans l’Accesslog dus à une activité suspecte, l’erreur a très probablement été causée par une attaque.

WEDOS propose une protection efficace contre les attaques – le service WEDOS Protection ⧉. Si vous observez fréquemment l’erreur 503 à cause d’attaques, envisagez de mettre en place cette protection.

Optimisation du site et de la base de données

Si le site n’est pas optimisé, même une fréquentation normale ou un travail inefficace avec des sources externes ou la base de données peut souvent entraîner une saturation. L’erreur apparaît par à-coups, soit lors des pics de trafic, soit pendant la maintenance automatique ; elle dure de quelques minutes à plusieurs dizaines de minutes.

Parmi les causes courantes de l’erreur 503 et leurs solutions figurent :

  • Application PHP mal optimisée: l’application n’envoie pas efficacement ses requêtes au processeur. Si vous utilisez un système de gestion de contenu, vérifiez s’il prend en charge ce que l’on appelle la mise en cache. Si c’est le cas, activez-la. Vous réduirez ainsi nettement le temps d’exécution des scripts, diminuerez le nombre de requêtes SQL vers la base de données et accélérerez vos pages. Vous trouverez plus d’informations dans l’article Webhosting – Cache et proxy.
  • Processus en arrière-plan trop fréquents ou trop longs : Toutes sortes de scripts de maintenance, notamment ceux qui envoient ou téléchargent des données, peuvent facilement occuper pendant longtemps un grand nombre de processus, qui ne sont alors plus disponibles pour les utilisateurs ordinaires. Pour les processus de maintenance réguliers, nous recommandons de configurer CRON du Webhosting. Limitez les sauvegardes et les autres processus gourmands en ressources aux heures creuses.
  • Grand nombre d’enregistrements dans la base de données : L’application enregistre dans la base de données les accès des visiteurs ou d’autres ensembles de données volumineux. Déterminez quelles données vous sont réellement nécessaires et adaptez en conséquence soit l’application, soit l’hébergement.
  • Configuration inadaptée de la base de données : L’application comporte des tables de base de données mal configurées. PHP attend alors très longtemps les résultats des requêtes SQL.
  • L’application PHP se connecte à une source externe indisponible : L’application télécharge des données externes, mais le serveur cible est injoignable, ne répond pas ou est surchargé. Si vous rencontrez souvent ce problème, envisagez de changer de source de données externes.
  • Script appelé par cron trop long : Si vous avez un grand nombre de crons, ou si les crons s’exécutent longtemps, ils peuvent bloquer les processus PHP disponibles pour votre site. Réfléchissez aux crons dont l’application a réellement besoin, à quelle fréquence, et à la manière de les optimiser.
  • Téléchargement de fichiers via un script PHP : L’application assure le téléchargement de gros fichiers au moyen d’un script PHP et occupe ainsi un processus PHP pendant toute la durée du téléchargement. Il est donc préférable de gérer le téléchargement des fichiers par un lien ou une redirection directement vers l’URL du fichier.
  • Grand nombre de fichiers dans une structure de répertoires inadaptée : L’application contient dans un même répertoire plus de plusieurs milliers d’éléments. Répartissez les fichiers dans des répertoires appropriés.

L’erreur 503 n’est donc pas nécessairement liée à la fréquentation actuelle ni aux modifications du site. Vous rencontrerez souvent le chargement de données depuis une source externe lente ou indisponible, ou l’exécution d’un cron qui charge, met à jour ou effectue de la maintenance pendant longtemps. Il peut aussi arriver qu’un grand nombre de requêtes complexes, généralement des recherches dans de vastes bases de données, se produisent en même temps par hasard.

Augmentation des performances du service

Si vous ne parvenez pas à trouver comment optimiser le site, vous pouvez adapter les performances du service à ses besoins. Envisagez les options suivantes :

  • Changement de forfait Webhosting : Vous pouvez faire évoluer le forfait Webhosting de LowCost vers NoLimit, ou de NoLimit vers Extra. Vous trouverez une comparaison des performances des forfaits à ce lien ⧉. Vous trouverez le guide pour changer de forfait dans l’article Services – Changement de forfait ou de période de facturation.
  • Changement de service : Si les performances d’un webhosting mutualisé ne suffisent pas à votre application, mais que vous ne souhaitez pas perdre la gestion dans l’administration client, envisagez de déplacer l’application vers le service WMS ⧉.
  • Séparation des alias et des sous-domaines. Aliases et sous-domaines d’un webhosting se partagent les performances du service. Si le trafic sur un ou plusieurs alias ou sous-domaines provoque l’erreur 503, envisagez de créer un hébergement distinct pour le domaine ou le sous-domaine concerné.

Processus PHP bloqué

Dans de rares cas, l’erreur 503 peut également être causée par le blocage d’un processus PHP. Si vous observez l’erreur 503 de manière continue pendant plusieurs dizaines de minutes à plusieurs heures et que même le vidage du cache n’y change rien (par exemple avec le raccourci clavier Ctrl+Shift+R), redémarrez PHP sur votre hébergement.

Lors des changements de version de PHP, des erreurs PHP peuvent survenir en raison de l’incompatibilité du site avec la version de PHP choisie temporairement.

Procédez comme suit :

  1. Connectez-vous à votre administration client ⧉.
  2. Dans le menu supérieur, sélectionnez Hosting Services Webhosting.
  3. Sélectionnez le webhosting pour lequel vous souhaitez redémarrer PHP.
  4. Dans le menu de gauche, sélectionnez PHP Configuration.
  5. Remplacez la version de PHP par une autre, si possible la plus proche (par ex. PHP 7.4 7.3 ou 8.0 8.1).
  6. Cliquez sur le bouton Edit.
  7. Patientez une demi-heure pour que le changement de version de PHP soit effectué. Ensuite, rétablissez de la même manière la version d’origine.

Si l’erreur 503 persiste même après un tel redémarrage, elle est probablement due à une autre cause qu’un processus bloqué.

Changement de version PHP du Webhosting dans le cadre d'une réinitialisation
Changement de version PHP du Webhosting dans le cadre d’une réinitialisation

Foire aux questions

L’erreur 503 est-elle spécifique aux serveurs WEDOS ?

Vous pouvez rencontrer l’erreur 503 sur n’importe quel serveur web. Lorsque vous cherchez un hébergement adapté à votre application, familiarisez-vous d’abord avec ses besoins et adaptez-y votre demande. Outre l’espace disponible pour les fichiers et la base de données, prêtez attention aux paramètres de RAM et de CPU. Gardez à l’esprit que le prix du service va de pair avec ses performances.

Une erreur 503 signifie-t-elle que je suis bloqué par la protection WEDOS.protection ?

Non. La protection affiche une page de remplacement lorsque le site ne répond pas à temps. Si vous avez un doute, écrivez-nous ⧉ en indiquant la date, l’heure et le Req-ID figurant sur la page d’erreur. Nous retrouverons la requête concernée et la cause de son échec.

Le passage à un forfait supérieur résoudra-t-il l’erreur ?

Passer à un forfait supérieur aide en partie, car un forfait plus élevé offre davantage de processus PHP. Cela n’élimine toutefois pas la cause : lorsqu’une tâche s’exécute pendant trente secondes, elle occupe un processus même sur un forfait supérieur, et si plusieurs tâches de ce type s’accumulent, il ne reste plus de processus pour le trafic normal. Nous recommandons de faire les deux.

Comment résoudre l’erreur 503 avec WordPress ?

Avec WordPress, il s’agit souvent de processus en arrière-plan trop gourmands. Vous trouverez plus d’informations et la marche à suivre dans l’article Webhosting – WordPress.

J’ai complètement désactivé tout le site, mais je constate toujours l’erreur 503, pourquoi ?

Essayez de vider le cache du navigateur (par exemple avec le raccourci clavier Ctrl+Shift+R). Si cela n’aide pas, essayez de redémarrer PHP en suivant la procédure du chapitre Processus PHP bloqué.

Cet article vous a-t-il été utile ?

Votre avis nous aide à améliorer nos articles.

Votre message est transmis à l'équipe de rédaction de la documentation, qui n'y répond pas. Si vous avez besoin d’aide, contactez-nous via le formulaire de contact. N'indiquez ni mots de passe ni données personnelles.

Vous n'avez pas trouvé ce que vous cherchiez ?

Posez votre question aux autres clients sur le site communautaire Help.