The PostgresSQL wiki suggest a rule for find the optimal amount of DB connection pool size.
amount = ((core_count * 2) + effective_spindle_count)
But it does not explain what the effective spindle count is and how can I find this value.
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It only takes a minute to sign up.Sign up to join this community
This relates to rotating harddisks (not SSDs). One rotating harddisk is one spindle.
So if your server uses e.g. a RAID with 16 disks, then your effective_spindle_count is 16
It is essentially a measure of how many concurrent I/O request your server can manage. Rotating harddisks can (typically) only handle one I/O request at a time. If you have 16, your system can handle 16 I/O requests at the same time.
The mentioned rule of thumb is no longer valid for SSDs. As they can typically handle several parallel I/O requests at the same time. I don't know however how you could obtain that number.
Which is also mentioned in the Wiki page you linked to:
There hasn't been any analysis so far regarding how well the formula works with SSDs.