4520 shaares
2 résultats
taggé
pool
Paramétrer la taille d'un pool de connexions, c'est difficile.
Je remets ici de quoi aider tout le monde :
On doit toujours chercher à réduire la taille de son pool plutôt que de l'augmenter à cause du principe de multiplexing. Dis autrement, deux actions lancées en séquentiel prendront toujours moins de temps à s'exécuter sur un seul CPU que ces deux mêmes actions lancées en parallèle.
Formule pour éviter les dead-lock :
C'est ce que l'on appelle, le max pool size.
Tn = Nombre max de threads.
Cm = Nombre maximum de connexions gérées par un seul thread.
Pool Size = Tn * ( Cm - 1) + 1
Formule pour calculer la taille d'un pool :
Nc : Nombre de core (physique, l'hyper-threading ne compte pas)
Nt : Nombre de têtes de lecture (1 pour les disque dur 2 pour les SSD)
Connexions = (Nc * 2) + Nt
Exemple
Prenons une VM à 2 CPU dont les paramètres sont les suivants :
- Tn = 4 threads CPU
- Cm = 4 connexions / CPU
- Nc = 2 cœurs physiques
- Nt = 2 sur du SSD
Alors nous aurons :
Pool Size = 4 * ( 4 - 1) + 1 = 13
Connexions = 2 * 2 + 2 = 6
Notre pool variera donc entre 6 et 13 connexions, pas plus, pas moins.
Un PDF à lire lorsque l'on configure une base MySQL derrière un driver Java et HikariCP en pool de connexions.