While updating my Postgres performance curriculum I was doing some testing with effective_io_concurrency and I may have found a regression. I am aware that the parameter only works under certain conditions. However, what I appear to have found is that if it is set to anything but 0, it is a regression for (at least benchmarksql tpc-c) workloads.

See here:

Testing with the TPC style benchmark shows that on local systems, setting this between 0 – 48 keeps the TPS within noise level. However, testing also shows that on cloud systems such as Google Cloud Compute setting this setting to anything greater than 0 results in an approximately 10% performance degradation on TPS:

Local/GCE       effective_io_concurrency        TPS

GCE             OFF                             47951

                8                               43098

                1                               43233
                0                               9939

                4                               9960

                16                              9955

                48                              9958

I was able to produce these results pretty consistently. I wonder if any has seen this on EBS? GCE instance is 16CPU, 59GB memory, 240MB Sustained rate SSD with 15k IOPS.



Command Prompt, Inc. || http://the.postgres.company/ || @cmdpromptinc

PostgreSQL Centered full stack support, consulting and development.
Advocate: @amplifypostgres || Learn: https://pgconf.us
*****     Unless otherwise stated, opinions are my own.   *****

Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:

Reply via email to