The following bug has been logged on the website:
Bug reference: 13493
Logged by: Graeme Bell
Email address: grb@skogoglandskap.no
PostgreSQL version: 9.3.9
Operating system: Linux
Description:
Hi,
pl/pgsql doesn't scale properly on postgres 9.3/9.4 with multiple processors
beyond 2-3 processors for me, regardless of the machine I use or the
benchmark/project.
I discovered this painfully during a project here where we were running a
small 'forest simulator' in pl/pgsql on different datasets simultaneously.
To highlight the problem, I've provided a benchmark that demonstrates two
problems (on my machines).
1. The first problem is scaling when you have lots of pl/pgsql code running
and doing real work.
2. The second problem is scaling when you have a table column as an input
parameter.
The benchmark results & source code are here:
https://github.com/gbb/ppppt
Another set of benchmarks showing the same phenomena on PG9.3 and PG9.4 can
be found here, under 'BENCHMARKS.md'
https://github.com/gbb/par_psql
I would be grateful if others could run the benchmark and confirm/disconfirm
the result.
If confirmed, the result may be of special interest to e.g. the postgis &
pgrouting communities.
This result is from a 16-core machine with 128GB of memory and a lot of
random I/O capacity (there's no writing involved though other than a bit of
WAL, and not much data, so this shouldn't matter).