Hi,

During performance tests it was mentioned that pgbench common results are
being different from what pg_stat_statements provides.

PostgreSQL version 9.5.3, centos 7.2. First run after pg_stat_extension
created and first pgbench run.

*pgbench *-c 30 -T 300 -U postgres -P 10 -r -v

> statement latencies in milliseconds:
>>
>>         0.003431        \set nbranches 1 * :scale
>>
>>         0.001046        \set ntellers 10 * :scale
>>
>>         0.000891        \set naccounts 100000 * :scale
>>
>>         0.001356        \setrandom aid 1 :naccounts
>>
>>         0.000938        \setrandom bid 1 :nbranches
>>
>>         0.000879        \setrandom tid 1 :ntellers
>>
>>         0.000974        \setrandom delta -5000 5000
>>
>>         0.102258        BEGIN;
>>
>>         0.228744        UPDATE pgbench_accounts SET abalance = abalance +
>>> :delta WHERE aid = :aid;
>>
>>         0.156087        SELECT abalance FROM pgbench_accounts WHERE aid =
>>> :aid;
>>
>>         17.715645       UPDATE pgbench_tellers SET tbalance = tbalance +
>>> :delta WHERE tid = :tid;
>>
>>         6.222220        UPDATE pgbench_branches SET bbalance = bbalance +
>>> :delta WHERE bid = :bid;
>>
>>         0.294592        INSERT INTO pgbench_history (tid, bid, aid,
>>> delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
>>
>>         0.502843        END;
>>
>>
*pg_stat_statements *
Example 1

> query               | UPDATE pgbench_accounts SET abalance = abalance + ?
>>> WHERE aid = ?;
>>
>> calls               | 118804
>>
>> total_time          | 5944.19700000145
>>
>> min_time            | 0.017
>>
>> max_time            | 146.501
>>
>> mean_time           | 0.0500336436483624
>>
>> stddev_time         | 0.860838186600729
>>
>> rows                | 118804
>>
>> Example 2

> query               | INSERT INTO pgbench_history (tid, bid, aid, delta,
>> mtime) VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP);
>
> calls               | 118804
>
> total_time          | 16533.2040000006
>
> min_time            | 0.075
>
> max_time            | 1.583
>
> mean_time           | 0.139163698191979
>
> stddev_time         | 0.0342061695940176
>
> rows                | 118804
>
>
Could anybody explain why results are different? Where is an inaccuracy -
in pg_stat_statements or pgbench?

Thanks in advance.

Reply via email to