Durumdara <durumdara@gmail.com> writes:
> But the number of threads option (j I think) confused me. At first I
> thought the total connection number is simply the multiplication of c and j
> (subconnections).
> As I saw this is untrue.
> So I don't know how this utility works really in the background.
There are -j threads in the pgbench process, and -c connections to
the server (hence -c backend processes on the server side). Each
of the pgbench threads is responsible for sending queries to a subset
of the connections. Setting -j more than -c is useless (I forget
if it's actually an error). If you set -j to, say, half of -c then
each thread has exactly two connections to manage. If -j is too
small compared to -c then pgbench itself tends to become the bottleneck.
regards, tom lane