Hello Kyotaro-san,
I think this also shows that "including/excluding connections
establishing" as well as some of the other stats reported pretty
bogus. In the 'before' case a substantial numer of the connections had
not yet been established until the end of the test run!
I see it useful. In most cases we don't care connection time of
pgbench. Especially in the mentioned case the result is just bogus. I
think the reason for "including/excluding connection establishing" is
not that people wants to see how long connection took to establish but
that how long the substantial work took. If each client did run with
continuously re-establishing new connections the connection time would
be useful, but actually all the connections are established at once at
the beginning.
So FWIW I prefer that the barrier is applied by default
Yep.
(that is, it can be disabled)
On reflection, I'm not sure I see a use case for not running the barrier
if it is available.
and the progress time starts at the time all clients has been
established.
Yep, the start time should be set after the connection barrier, and
possibly before a start barrier to ensure that no transaction has started
before the start time: although performance measures are expected to be
slightly false because of how they are measured (measuring takes time),
from a benchmarking perspective the displayed result should be <= the
actual performance.
Now, again, if long benchmarks are run, which for a db should more or less
always be the case, this should not matter much.
starting vacuum...end.
+ time to established 5000 connections: 1323ms
Yep, maybe showing the initial connection time separately.
--
Fabien.