
Envoyé par
Séb.
Après avoir testé, le premier appel mets 10 secondes, les suivants, 150 ms.
En distant.
En local, le premier appel mets 600 ms et les suivants, 40. J'ai remarqué qu'il fallait parfois 2 appels a 10 secondes/600 ms pour que la connexion "vive" réellement et se mette a dispo dans le cache et je ne sais pas pourquoi.
Donc le gain est impressionnant mais je ne sais pas combien de temps vit la connexion, c'est un paramétrage du php.ini?
Au début j'avais cette ligne:
Et elle est devenue cette ligne
$dbh = new PDO($dsn, $user,$password,array(PDO::ATTR_PERSISTENT => true));
Actuellement le user/mdp reste le même mais la base de données qu'on tape sera différente à chaque appel. C'est déduis d'un token d'authentification. J'en déduis que ça va quand même marcher dans ce cas car le cache de connexions se base sur le user et le mot de passe mais pas sur le nom de la database. Est-ce exact?
Par ailleurs en arpentant un peu le web j'ai trouvé ça https://qastack.fr/programming/33320...nection-in-pdo
Qui indique quand même que si on laisse un script en plan sur une erreur de base pendant une transac par exemple, le prochain script qui récupèrera la connexion va avoir un problème. Si quelqu'un a un retour d'expérience sur ça...on pourrait envisager de déclencher des fonctions de vérif avant chaque script pour s'assurer que tout est clean, mais c'est un point non négligeable. Les connexions persistantes n'ont pas l'air d'avoir très bonne presse.
Et je n'ai pas non plus compris si quand un script réutilise une connexion, il y a réinitialisation ou pas, histoire de garder la connexion mais de ne pas rester sur l'erreur du script précédent, c'est un peu flou.
Partager