ibanezn04
ibanezn04

Reputation: 518

Recommended connection pool size for HikariCP

As written in HikariCP docs the formula for counting connection pool size is connections = ((core_count * 2) + effective_spindle_count). But which core count is this: my app server or database server? For example: my is app running on 2 CPUs, but database is running on 16 CPUs.

Upvotes: 4

Views: 3676

Answers (2)

Ori Marko
Ori Marko

Reputation: 58812

The quote is from PostgreSQL wiki which is related to database cores/server

database server only has so many resources, and if you don't have enough connections active to use all of them, your throughput will generally improve by using more connections.

Notice that this formula may be outdated (comment by @mustaccio)

That wiki page was last updated nearly 5 years ago, and the advice in question is even older. I/O queue depth might be more relevant today than the number of spindles, even if the latter are actually present

Upvotes: 2

Laurenz Albe
Laurenz Albe

Reputation: 247215

This is Kevin's formula for connection pool size, where cores and spindles (you can tell is is an old formula) are the database server's.

This assumes that the connections are kept fairly busy. If you have transactions with longer idle times, you might need to make the pool bigger.

In the end, only trial and error can find the ideal pool size.

Upvotes: 2

Related Questions