Re: pgbench: Improve result outputs related to failed transactinos

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: nagata(at)sraoss(dot)co(dot)jp
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: pgbench: Improve result outputs related to failed transactinos
Date: 2024-09-24 10:00:04
Message-ID: 20240924.190004.354379931784911894.ishii@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> I overlooked the "NaN% of total" in per-script results.
> I think this NaN also should be avoided.
>
> I fixed the number of transactions in per-script results to include
> skipped and failed transactions. It prevents to print "total of NaN%"
> when any transactions are not successfully processed.

Thanks for the fix. Here is the new run with the v2 patch. The result
looks good to me.

src/bin/pgbench/pgbench -p 11002 -c1 -t 1 -f c.sql -f d.sql --failures-detailed -r test
pgbench (18devel)
starting vacuum...end.
transaction type: multiple scripts
scaling factor: 1
query mode: simple
number of clients: 1
number of threads: 1
maximum number of tries: 1
number of transactions per client: 1
number of transactions actually processed: 1/1
number of failed transactions: 0 (0.000%)
number of serialization failures: 0 (0.000%)
number of deadlock failures: 0 (0.000%)
latency average = 2.434 ms
initial connection time = 2.117 ms
tps = 410.846343 (without initial connection time)
SQL script 1: c.sql
- weight: 1 (targets 50.0% of total)
- 1 transactions (100.0% of total)
- number of transactions actually pocessed: 1 (tps = 410.846343)
- number of failed transactions: 0 (0.000%)
- number of serialization failures: 0 (0.000%)
- number of deadlock failures: 0 (0.000%)
- latency average = 2.419 ms
- latency stddev = 0.000 ms
- statement latencies in milliseconds and failures:
0.187 0 begin;
0.153 0 set transaction isolation level serializable;
0.977 0 insert into t1 select max(i)+1,2 from t1;
1.102 0 end;
SQL script 2: d.sql
- weight: 1 (targets 50.0% of total)
- 0 transactions (0.0% of total)
- statement latencies in milliseconds and failures:
0.000 0 begin;
0.000 0 set transaction isolation level serializable;
0.000 0 insert into t1 select max(i)+1,2 from t1;
0.000 0 end;

> Although it breaks the back-compatibility, this seems reasonable
> modification because not only succeeded transactions but also skips and
> failures ones are now handled and reported for each script. Also, the
> number of transactions actually processed per-script and TPS based on
> it are now output explicitly in a separate line.

Okay for me as long as the patch is pushed to master branch.

A small comment on the comments in the patch: pgindent dislikes some
of the comment indentation styles. See attached pgindent.txt. Although
such a small defect would be fixed by committers when a patch gets
committed anyway, you might want to help committers beforehand.

Best reagards,
--
Tatsuo Ishii
SRA OSS K.K.
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp

Attachment Content-Type Size
unknown_filename text/plain 1.1 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2024-09-24 10:50:10 Re: Documentation to upgrade logical replication cluster
Previous Message Tomas Vondra 2024-09-24 09:57:28 Re: Compress ReorderBuffer spill files using LZ4