RE: Transaction commits VS Transaction commits (with parallel) VSquery mean time

Поиск
Список
Период
Сортировка
От Jamison, Kirk
Тема RE: Transaction commits VS Transaction commits (with parallel) VSquery mean time
Дата
Msg-id D09B13F772D2274BB348A310EE3027C648BDB9@g01jpexmbkw24
обсуждение исходный текст
Ответ на Re: Transaction commits VS Transaction commits (with parallel) VSquery mean time  (Haribabu Kommi <kommi.haribabu@gmail.com>)
Список pgsql-hackers

On Thursday, March 28, 2019 3:13 PM (GMT+9), Haribabu Kommi wrote:

> I tried the approach as your suggested as by not counting the actual parallel work

> transactions by just releasing the resources without touching the counters,

> the counts are not reduced much.

>

> HEAD - With 4 parallel workers running query generates 13 stats ( 4 * 3  + 1)

> Patch -  With 4 parallel workers running query generates 9 stats ( 4 * 2 + 1)

> Old approach patch - With 4 parallel workers running query generates 1 stat (1)

> Currently the parallel worker start transaction 3 times in the following places.

> 1. InitPostgres

> 2. ParallelWorkerMain (2)

> with the attached patch, we reduce one count from ParallelWorkerMain.

 

I'm sorry for the late review of the patch.

Patch applies, compiles cleanly, make check passes too.

I tested the recent patch again using the same method above

and confirmed the increase of generated stats by 9 w/ 4 parallel workers.

 

postgres=# BEGIN;

postgres=# select xact_commit from pg_stat_database where datname = 'postgres';

xact_commit

-------------

          60

(1 row)

postgres=# explain analyze select * from tab where b = 6;

[snipped]

postgres=# COMMIT;

postgres=# select xact_commit from pg_stat_database where datname = 'postgres';

xact_commit

-------------

          69

 

The intention of the latest patch is to fix the stat of

(IOW, do not count) parallel cooperating transactions,

or the transactions started by StartParallelWorkerTransaction,

based from the advice of Amit.

After testing, the current patch works as intended.

 

However, also currently being discussed in the latter mails

is the behavior of how parallel xact stats should be shown.

So the goal eventually is to improve how we present the

stats for parallel workers by differentiating between the

internal-initiated (bgworker xact, autovacuum, etc) and

user/application-initiated transactions, apart from keeping

the overall xact stats.

..So fixing the latter one will change this current thread's fix?

 

I personally have no problems with committing this fix first

before fixing the latter problem discussed above.

But I think there should be a consensus regarding that one.

 

Regards,

Kirk Jamison

В списке pgsql-hackers по дате отправления:

Предыдущее
От: legrand legrand
Дата:
Сообщение: RE: Planning counters in pg_stat_statements (using pgss_store)
Следующее
От: Fabien COELHO
Дата:
Сообщение: Re: Progress reporting for pg_verify_checksums