Les connexions persistantes sont une bonne idée seulement quand elle prend une (relativement) long temps de connexion à votre base de données. Aujourd'hui, c'est presque jamais le cas. Le plus grand inconvénient pour les connexions persistantes, c'est qu'il limite le nombre d'utilisateurs, vous pouvez avoir la navigation de votre site: si MySQL est configuré pour autoriser uniquement les 10 connexions simultanées à la fois, puis lors de la 11e personne essaie de parcourir votre site, il ne fonctionnera pas pour eux.
AOP ne pas gérer la persistance. Le pilote MySQL. Il réutilise les connexions lorsque: a) ils sont disponibles et le host/user/mot de passe/la base de données. Si aucun changement alors il ne sera pas réutiliser une connexion. Le meilleur des cas, l'effet net est que ces connexions que vous avez sera démarré et arrêté si souvent parce que vous avez plusieurs utilisateurs sur le site et de les rendre persistantes ne fait pas de bien du tout.
La chose à comprendre au sujet des connexions persistantes, c'est que vous ne devriez PAS les utiliser dans la plupart des applications web. Leur son est alléchant, mais ils sont dangereux et assez inutile.
Je suis sûr qu'il y a d'autres fils sur ce sujet, mais une connexion persistante est dangereux parce qu'il persiste entre les demandes. Si, par exemple, vous pouvez verrouiller une table lors d'une demande et ne parviennent pas à débloquer alors que la table va reste bloqué indéfiniment. Les connexions persistantes sont également assez inutile pour 99% de vos apps, car vous n'avez aucun moyen de savoir si la connexion même sera utilisé entre les différentes demandes. Chaque thread va avoir son propre ensemble de connexions persistantes et vous n'avez aucun moyen de contrôle sur le thread qui va gérer ce qui demandes.
La procédure bibliothèque mysql de PHP, dispose d'une fonction en vertu de laquelle les appels ultérieurs à mysql_connect sera de retour le même lien, plutôt que d'ouvrir une autre connexion (Comme on pourrait s'y attendre). Cela n'a rien à voir avec les connexions persistantes et est spécifique à la base de la bibliothèque. AOP ne présentent pas de tels comportements
Ressources Lien : lien
En Général, vous pouvez l'utiliser comme un brouillon "règles"::
OUI, utiliser des connexions persistantes, si:
PAS de, ne pas utiliser des connexions persistantes, si:
Votre demande nécessite un accès à la base de données 100 fois par heure.
Vous avez beaucoup, beaucoup de serveurs web d'accéder à un serveur de base de données
Utiliser des connexions persistantes sont considérables plus rapide, surtout si vous êtes accédant à la base de données sur un réseau. Il ne fait pas tellement de différence si la base de données est en cours d'exécution sur la même machine, mais il est encore un peu plus vite. Cependant - comme le nom l'indique, la connexion est persistante, c'est à dire qu'elle reste ouverte, même si elle n'est pas utilisée.
Le problème c'est que dans "configuration par défaut", MySQL ne permet de 1000 parallèle "des canaux à ciel ouvert". Après cela, les nouvelles connexions sont refusées (Vous pouvez modifier ce paramètre). Donc, si vous avez, disons, 20 Serveurs avec chacun de 100 Clients sur eux, et chacun d'eux a juste une page par heure, un simple calcul vous montrera que vous aurez besoin de 2000 connexions parallèles à la base de données. Cela ne marchera pas.
Ergo: Seule l'utilisation pour les applications avec beaucoup de demandes.