Re: pg_stat_lwlocks view - lwlocks statistics, round 2 - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: pg_stat_lwlocks view - lwlocks statistics, round 2
Date
Msg-id CAB7nPqTUtyQEE02jVAt2w+hGo4C778W5VPN8cduxjj_+tDEqzw@mail.gmail.com
Whole thread Raw
In response to Re: pg_stat_lwlocks view - lwlocks statistics, round 2  (Fujii Masao <masao.fujii@gmail.com>)
Responses Re: pg_stat_lwlocks view - lwlocks statistics, round 2  (Satoshi Nagayasu <snaga@uptime.jp>)
List pgsql-hackers


On Sun, Oct 14, 2012 at 6:00 AM, Fujii Masao <masao.fujii@gmail.com> wrote:
On Sun, Oct 14, 2012 at 3:34 AM, Fujii Masao <masao.fujii@gmail.com> wrote:
> On Sat, Oct 13, 2012 at 11:34 PM, Satoshi Nagayasu <snaga@uptime.jp> wrote:
>> Hi,
>>
>> 2012/10/13 23:05, Satoshi Nagayasu wrote:
>>> Hi all,
>>>
>>> I have fixed my previous patch for pg_stat_lwlocks view, and
>>> as Josh commented, it now supports local and global (shared)
>>> statistics in the same system view.
>>
>> Sorry, I found my mistakes. New fixed one is attached to this mail.
>
> Thanks for revising the patch. Here are the comments:
>
> The document needs to be updated.
>
> The patch caused the following compile warnings in my machine.
>
> pgstat.c:1357: warning: no previous prototype for 'pgstat_report_lwlockstat'
> postgres.c:3922: warning: implicit declaration of function
> 'pgstat_report_lwlockstat'
> pgstatfuncs.c:1854: warning: no previous prototype for 'pg_stat_reset_lwlocks'
>
> In my test, this patch caused the measurable performance overhead.
> I created the test database by pgbench -s10 and ran pgbench -c8 -j8 -T60 -S.
> Results are:
>
> [HEAD]
> number of transactions actually processed: 1401369
> tps = 23351.375811 (including connections establishing)
> tps = 23355.900043 (excluding connections establishing)
>
> [PATCH]
> number of transactions actually processed: 1401369
> tps = 23351.375811 (including connections establishing)
> tps = 23355.900043 (excluding connections establishing)

Oops! Obviously I copied and pasted the test result wrongly...
Here is the right result.

[HEAD]
number of transactions actually processed: 1401369
tps = 23351.375811 (including connections establishing)
tps = 23355.900043 (excluding connections establishing)

[PATCH]
number of transactions actually processed: 1092400
tps = 18179.498013 (including connections establishing)
tps = 18182.450824 (excluding connections establishing)
Performance difference is due to only the mutex lock taken?

 

Another comment is; local_calls/waits/time_ms are really required?
I'm not sure how those info would help the performance debugging.

Regards,

--
Fujii Masao


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers



--
Michael Paquier
http://michael.otacoo.com

pgsql-hackers by date:

Previous
From: "Erik Rijkers"
Date:
Subject: Re: proposal - assign result of query to psql variable
Next
From: Satoshi Nagayasu
Date:
Subject: Re: pg_stat_lwlocks view - lwlocks statistics, round 2