PGpool investigation and experiments
Useful links:
Server configuration https://www.pgpool.net/docs/42/en/html/runtime-config-connection.html#GUC-NUM-INIT-CHILDREN
Parameters relations https://pgpool.net/mediawiki/index.php/Relationship_between_max_pool,_num_init_children,_and_max_connections
https://b-peng.blogspot.com/2020/07/connection-pooling-in-pgpool.html
https://scalegrid.io/blog/postgresql-connection-pooling-part-4-pgbouncer-vs-pgpool/
PGPOOL_CHILD_MAX_CONNECTIONS=1 --env PGPOOL_MAX_POOL=1 | PGPOOL_CHILD_MAX_CONNECTIONS=20 --env PGPOOL_MAX_POOL=20 | PGPOOL_CHILD_MAX_CONNECTIONS=1 --env PGPOOL_MAX_POOL=20 | PGPOOL_CHILD_MAX_CONNECTIONS=5 --env PGPOOL_MAX_POOL=5 | PGPOOL_CHILD_MAX_CONNECTIONS=20 --env PGPOOL_MAX_POOL=1 | --env PGPOOL_MAX_POOL=20 \ --env PGPOOL_CHILD_MAX_CONNECTIONS=20 \ --env PGPOOL_NUM_INIT_CHILDREN=10000 \ | |
Check-in | 4.489 | 3.379 | 4.648 | 3.484 | 4.702 | 6.036 |
Check-out | 9.681 | 8.485 | 10.527 | 9.564 | 10.421 | 12.33 |
Check-in | 4.972 | 4.514 | 5.299 | 5.023 | 5.65 | 5.256 |
Check-out | 9.691 | 10.245 | 10.588 | 10.784 | 10.373 | 11.406 |
we saw here 40 connections max | test to confirm results from test#2 (this time we have higher response times) |
Test with parameters PGPOOL_CHILD_MAX_CONNECTIONS=1 --env PGPOOL_MAX_POOL=1
Test with parameters PGPOOL_CHILD_MAX_CONNECTIONS=20 --env PGPOOL_MAX_POOL=20
test with parameters PGPOOL_CHILD_MAX_CONNECTIONS=1 --env PGPOOL_MAX_POOL=20
test with parameters PGPOOL_CHILD_MAX_CONNECTIONS=5 --env PGPOOL_MAX_POOL=5
test with parameters PGPOOL_CHILD_MAX_CONNECTIONS=20 --env PGPOOL_MAX_POOL=1