Hi guys.I just wanna understand the effective_io_concurrency value better.My current Master database server has 16 vCPUS and I useeffective_io_concurrency = 0.
It seems as though the number of virtual CPUs little to no bearing on whether, or to what value, you should set this parameter. Obviously with only one CPU parallelism wouldn't be possible (I'm assuming a single query does not make multiple parallel requests for data) but the value seems to strictly describe a characteristic the I/O subsystem. Whether you can fully leverage a properly set large value is another matter.
As general advice, even you are using a soon to be obsolete (or any non-current really) version of PostgreSQL when you are learning about a new concept checking the most recent docs can be helpful. Generally only bugs in the docs get back-patched but a number of doc contributions are not bug related but helpful none-the-less.
In short, if you want any good advice you will need to figure out the specifics of your I/O subsystem (non-volatile memory and any associated hardware), and share that with the list. Lacking rules-of-thumb learning how to test your system and measure changes would help get you to the end goal. Sadly not a skill I've really picked up as of yet.
David J.