Quando l'applicazione deve recuperare i dati dal database, crea una connessione al database. La creazione di questa connessione comporta un sovraccarico di tempo e risorse macchina sia per l'applicazione che per il database. Molte librerie di database e ORM tenteranno di riutilizzare le connessioni quando possibile, in modo che non incorrano nel sovraccarico di stabilire la connessione DB più e più volte. Lo pool
è la raccolta di queste connessioni salvate e riutilizzabili che, nel tuo caso, vengono prelevate da Sequelize. La configurazione di
pool: {
max: 5,
min: 0,
idle: 10000
}
riflette il fatto che la piscina deve:
- mai avere più di cinque connessioni aperte (
max: 5
)
- Come minimo, sono pari a zero aperto connectsion/mantenere nessun numero minimo di connessioni (
min: 0
)
- Rimuovere una connessione dal pool dopo che la connessione è stata inattiva (non utilizzata) per 10 secondi (
idle: 10000
)
tl; dr: I pool sono una buona cosa che aiutano con il database e le prestazioni complessive dell'applicazione, ma se si è troppo aggressivi con la configurazione del pool si può incidere negativamente sulle prestazioni complessive.
fonte
2017-05-26 03:25:39
Perché i pool di connessione sono utili: https://stackoverflow.com/questions/44081488/why-a-connection-pool-of-many-opened-connections-is-less-costly-for-a-system- tha –