Re: pgbench: Improve result outputs related to failed transactinos

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

On Tue, 24 Sep 2024 19:00:04 +0900 (JST)
Tatsuo Ishii <ishii(at)postgresql(dot)org> wrote:

> > 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.

Thank you for your comments.
I've attached a updated patch that I applied pgindent.

Regards,
Yugo Nagata

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

--
Yugo NAGATA <nagata(at)sraoss(dot)co(dot)jp>

Attachment Content-Type Size
v3-0001-pgbench-Improve-result-outputs-related-to-failed-.patch text/x-diff 5.3 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Li Japin 2024-09-24 10:55:16 Re: [PATCH] Support Int64 GUCs
Previous Message Amit Kapila 2024-09-24 10:52:52 Re: Documentation to upgrade logical replication cluster