Question

Je suis mise en œuvre d'une application qui aura beaucoup de clients beaucoup de petits interrogation paquets de données de mon serveur web. Maintenant, je ne suis pas sûr que ce soit d'utiliser des connexions de données persistantes à la base de données ou non. La base de données est actuellement sur le même système que le serveur Web et peut se connecter via la prise, mais cela pourrait changer dans un proche avenir.

Comme je sais il y a quelques versions de PHP mysqli_pconnect a été supprimé car il se comportait sous-optimale. En attendant, il semble être de retour.

Sur la base de mon scénario, je suppose que je ne vais pas avoir une autre chance de gérer des milliers de requêtes par minute, mais avec des charges de connexions persistantes et une configuration de MySQL qui ne réserve que peu de ressources par connexion, droit?

Merci pour vos commentaires!

Était-ce utile?

La solution

Qu'est-ce qui est arrivé quand vous le testiez?

Avec la volonté de nid dans le monde, il n'y a aucun moyen pratique, vous pouvez transmettre toutes les informaton nécessaire pour les personnes à fournir une réponse définitive dans une réponse SO. Cependant habituellement il y a très peu de frais généraux pour établir une connexion mysql, surtout si elle se trouve sur le même système que le client de base de données (dans ce cas, le serveur Web). Il y a même moins de frais généraux si vous utilisez un système de fichiers plutôt que d'une prise réseau.

Je propose donc abstraire tous vos appels de base de données afin que vous pouvez facilement basculer entre les types de connexion, mais écrivez votre système à utiliser des connexions, et assurez-vous du code libère explicitement la demande de la connexion dès que possible - puis voir comment il se comporte.

C.

Autres conseils

Are PHP mal connexions persistantes?

  

Le problème est qu'il ne peut être que si   de connexions actives entre l'hôte   « Apache » et hôte « MySQL »

Connexions Persistant donnent généralement des problèmes en ce que vous frappez le nombre maximum de connexions. En outre, dans votre cas, il ne donne pas un grand avantage puisque votre serveur de base de données est sur le même hôte. Gardez-le à des connexions normales pour l'instant.

Comme on dit, votre kilométrage peut varier, mais je ne l'ai jamais eu de bonnes expériences à l'aide de connexions persistantes de PHP, y compris MySQL et Oracle (à la fois ODBC et OCI8). Chaque fois que je l'ai testé, le système ne parvient pas à réutiliser les connexions. Avec forte charge, je finis par atteindre la limite supérieure alors que j'ai des centaines de connexions inactives.

Donc, mon conseil est que vous essayez réellement et savoir si votre installation réutilise les connexions correctement. Si cela ne fonctionne pas comme prévu, il ne sera pas un grand perdant de toute façon. Ouvrir une connexion MySQL est pas particulièrement coûteux par rapport à d'autres SGBD

En outre, ne pas oublier de réinitialiser tous les paramètres pertinents, le cas échéant (valeur quelle que soit la session que vous changez, il sera pour vous attend la prochaine fois pour affermira une connexion et arriver à réutiliser celui-là).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top