web-dev-qa-db-fra.com

Hikari CP maxLifetime/idleTimeout

Hikari version CP: 2.7.4

Ce n'est en réalité pas un problème mais quelques doutes. A) maxLifetime: met fin à la connexion après 30 minutes. Sera-t-il également créer automatiquement une nouvelle connexion au moment de la tuer ou attend-il une nouvelle demande puis crée-t-il une nouvelle connexion? compte tenu de la piscine a plus que minIdle.

b) idleTimeout: il tombera après 10 minutes d'inactivité? mais 10 minutes est trop élevé. est-ce correct si je le marque comme 10s (10 est min comme on le voit à partir du code), sinon il y aura toujours des connexions supérieures à min-connexions?

De plus, à quel moment la connexion est-elle considérée comme inactive?

4
Ankit Bansal

La gouvernante Hikari fonctionne toutes les 30 secondes, ce qui ferme toutes les connexions inutilisées et antérieures à maxLifetime. Si le nombre de connexions est supérieur à minimumIdle, la gouvernante fermera les connexions inactives depuis plus longtemps que idleTimeout.

Si, pendant que votre application est en cours d'exécution, il n'y a pas de connexions libres, cela créera une autre connexion pour vous, à moins que sa valeur maximumPoolSize soit atteinte et que vous deviez attendre qu'elle soit libre.

La création d’une nouvelle connexion a un coût supplémentaire, car la mise en commun des connexions nous évite que le temps de connexion ne se produise à chaque fois. Ainsi, en le réduisant à 10 secondes, vous augmenterez considérablement le temps système par rapport à toutes les 10 minutes.

Pour plus d'informations: https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby

1
Alex