web-dev-qa-db-fra.com

Notification pour trop d'erreurs de connexion Apache sur l'hébergement partagé?

Mon fournisseur d'hébergement spécifie le nombre de connexions simultanées que le compte d'hébergement peut gérer. La question est de savoir comment puis-je savoir si mon site a atteint cette limite et laisse tomber ses connexions?

J'ai un site PHP qui signale correctement les erreurs et m'envoie un message si une erreur se produit, mais dans ce cas, cela ne s'applique pas, car s'il y a trop de connexions simultanées, Apache n'appelle même pas mon PHP scripts.

Comment puis-je être averti si cette erreur se produit, afin que je sache qu'il est temps de mettre à niveau mon compte vers un package d'hébergement plus volumineux, capable de gérer davantage de connexions simultanées?

2
user

Votre site ne doit pas abandonner immédiatement les connexions lorsque le nombre maximal de connexions simultanées est atteint, à moins que votre hôte ne dispose de quelque chose spécifiquement pour gérer ce cas (voir ci-dessous). Dans Apache, la directive MaxClients est utilisée pour définir le nombre maximal de connexions simultanées. Tout ce qui dépasse cette limite ira dans une file d'attente pour être traité à la fin d'une demande en attente dont la taille est déterminée par la directive ListenBacklog et le système d'exploitation.

Pour que la file d'attente continue à avancer le plus rapidement possible, il est généralement recommandé de s'assurer que la directive KeepAlive est définie sur "On", permettant ainsi à plusieurs requêtes HTTP de se succéder (par exemple, des scripts, des CSS, des images, etc.). TCP connexion sans la surcharge de la recycler à chaque fois. Vous pouvez souvent vérifier que KeepAlive est utilisé dans les en-têtes de réponse, même si tous les serveurs ne répondent pas avec des en-têtes KeepAlive, même après avoir établi une connexion persistante. Vous pouvez toutefois demander si votre hôte utilise KeepAlive si vous ne voyez pas ces en-têtes revenir.

Cela étant dit, ab peut être utilisé pour évaluer les performances sur des conditions de charge supérieures à la moyenne, afin de voir le comportement de votre serveur. Si votre charge actuelle entraîne des temps de chargement de page trop élevés, il est peut-être temps de déplacer votre ordinateur. Dans la plupart des cas, vous devriez le remarquer bien avant que les demandes ne commencent à expirer.

2
David Watson

Edit: Pour répondre plus directement à votre question.

Premièrement, je configurerais une sorte de surveillance externe afin que vous puissiez recevoir des notifications de problèmes. Il existe de nombreuses méthodes pour le faire, des simples scripts exécutés à distance aux outils open source tels que Nagios (pas pour la feinte en chaleur), ou vous pouvez utiliser un service en ligne tel que pingdom.com.

Pingdom (il en existe beaucoup d'autres) vous permet de surveiller une URL gratuitement et il est très facile à configurer. Demandez au chèque de rechercher du texte sur l'un de vos URL PHP afin que vous sachiez que votre site contient des données réelles. Faites exécuter le script toutes les 5 minutes et vous alerter en cas de problème. Hors sujet, mais vous voudrez peut-être aussi examiner la possibilité de diffuser votre contenu statique (images, vidéos, etc.) ailleurs .. Amazon S3 peut-être. Cela serait particulièrement utile si KeepAlive est désactivé dans votre fournisseur VPS. Cela peut coûter moins cher que de démarrer une autre instance VPS.

Bonne chance!

0
InChargeOfIT