web-dev-qa-db-fra.com

Erreur de base de données aux heures de pointe

Mon temps d’utilisation du site Web Joomla 3.6 est plutôt bon, mais en période de trafic intense, mon site affiche une page blanche avec le texte suivant;

Erreur d’affichage de la page d’erreur: Erreur d’instanciation d’application: impossible de se connecter à MySQL.

Qu'est-ce qui causerait ça?

J'ai lu qu'il s'agit normalement d'un paramètre du fichier configuration.php, mais si tel était le cas, mon site ne fonctionnerait jamais?

Puis-je vérifier ou optimiser quelque chose concernant la base de données? Peut-être des journaux?

Je devrais ajouter que c'est sur un serveur d'hébergement partagé (JustHost).

Tout conseil est apprécié.

2
jonboy

Avec les informations limitées que vous avez fournies, il n'y a que 2 choses qui sont probablement la raison.

  1. votre serveur ne dispose pas de suffisamment de ressources et peut nécessiter une mise à niveau.
  2. vous avez un script injecté php qui exécute en permanence un script qui utilise les ressources.

Je voudrais regarder vos ressources, via le panneau de contrôle côté serveur et voir si effectivement il y a des processus php constants en cours d'exécution.

2
norcal johnny

Bien que les informations soient limitées, étant donné que cela ne se produit que pendant les périodes de trafic intense sur le site, je pense que vous avez dépassé votre nombre maximal de connexions simultanées pour la base de données Mysql ou que les pannes de la base de données sont dues au manque de ressources du serveur.

Quoi qu'il en soit, vérifiez les journaux de votre base de données. Mettez à jour votre message avec eux si vous avez besoin d'aide supplémentaire.

2
Brian Bolli

Beaucoup de trafic peut faire en sorte que la table de sessions Joomla provoque une entrée/sortie de disque Mysql élevée. Cela peut entraîner un délai d'expiration de myslq. Vérifiez le moniteur de ressources pour les E/S de disque Mysql. Il est possible que cela ne se présente pas sous la forme d'un processeur élevé ou de l'utilisation de RAM.

1
Wim de Ruijter

L'hébergement partagé est très mauvais pour toute affaire sérieuse. Avant de faire quoi que ce soit, vous devriez investir un peu plus d'argent dans votre site Web et passer à un VPS (ce mouvement sera rentable, car Google se classe plus vite que les sites Web plus haut).

Une fois que vous avez fait cela, vous pouvez alors modifier vos paramètres InnoDB (et peut-être modifier le noyau) afin d'améliorer les performances de votre site Web Joomla (si votre site Web est assez grand, alors cet article peut aider) . Si tout va bien mais que vous rencontrez toujours des problèmes, vous devrez surveiller votre journal de requêtes lent pour détecter les requêtes lentes et optimiser ces requêtes.

Encore une fois, vous devriez - vous devriez vraiment passer d'un hébergement partagé à au moins un VPS. Les hôtes partagés ne se soucient généralement pas beaucoup des performances des sites Web sur un serveur hôte partagé (en fait, certains peuvent bloquer ou mettre en cache de manière agressive des sites Web gourmands en ressources).

1
itoctopus

On dirait que votre problème est lié à un trop grand nombre de connexions SQL, associé à une surcharge du processeur. Voici ce que j'ai fait pour un site qui reçoit 25 000 visites par jour que j'organise:

  1. Si vous avez un VPS dédié, augmentez le nombre de connexions SQL à 150. Sur la plupart des serveurs, définissez-les sur 100. Contactez le support de votre hôte et demandez-lui de vérifier vos paramètres Tweak dans WHM. Si vous avez besoin d'un bon hébergement, j'utilise InMotion Dedicated. Très heureux avec eux.
  2. Évitez de nombreux administrateurs connectés en même temps. Nous avons découvert que Joomla ouvrait jusqu'à 10 connexions SQL "en sommeil" par connexion, 4 administrateurs en même temps, il ne vous en restait que 10 à 20 pour les visiteurs.
  3. Utilisez un CDN. Laissez-moi répéter cela - utilisez un CDN!
  4. Activer la mise en cache conservatrice. La mise en cache progressive n'est pas recommandée pour les sites Joomla à fort trafic.
  5. Mettez à niveau le serveur avec davantage de cœurs de processeur et plus de RAM, si possible.

  6. Installez Admin Tools d’Akeeba, il détecte et bloque les pirates informatiques et les spammeurs, ce qui réduit le trafic global.

Certains éléments de bon sens, comme l’utilisation d’images de petite taille/optimisées, essaient d’utiliser GZIP dans votre modèle si cette option est prise en charge, désactivez tous les scripts Javas dont vous n’avez pas besoin. Utilisez également un programme tel que https://gtmetrix.com/ pour analyser le site et vous avertir s’il existe des problèmes susceptibles d’augmenter le temps de chargement.

1
Charlie Trig

Réduire la charge sur le serveur en activant le cache ou similaire peut être utile (si vous ne l'avez pas déjà fait).

0
Neil Robertson