BUG #16180: s_lock botteneck when load pg_stat_statements and save=off|on - Mailing list pgsql-bugs
From | PG Bug reporting form |
---|---|
Subject | BUG #16180: s_lock botteneck when load pg_stat_statements and save=off|on |
Date | |
Msg-id | 16180-c53ce0f4aaa85596@postgresql.org Whole thread Raw |
Responses |
Re: BUG #16180: s_lock botteneck when load pg_stat_statements and save=off|on
|
List | pgsql-bugs |
The following bug has been logged on the website: Bug reference: 16180 Logged by: Zhou Digoal Email address: digoal@126.com PostgreSQL version: 12.1 Operating system: CentOS 7.7 x64 Description: i use postgresql 12.1 and test load or unload pg_stat_statements. when pg_stat_statements.save=off, i found it also call pgss_store ``` Samples: 217K of event 'cpu-clock', 4000 Hz, Event count (approx.): 22185764626 lost: 411555/7098659 drop: 446791/8362859 Children Self Shared Object Symbol - 55.76% 55.76% [kernel] [k] cpuidle_enter_state - 7.97% 0xffffffff93a000d5 - 55.37% 0xffffffff93a59c97 0xffffffff93affc2a 0xffffffff93a37bce 0xffffffff93fbf9ae - 29.82% 0.25% postgres [.] PostgresMain - 4.16% PostgresMain - 2.00% finish_xact_command - 2.02% CommitTransactionCommand - 2.44% CommitTransaction - 1.90% PreCommit_Portals - 1.83% PortalDrop - 1.84% PortalCleanup - 2.18% pgss_ExecutorEnd - 10.32% pgss_store - 10.77% s_lock 1.30% perform_spin_delay - 1.25% exec_execute_message (inlined) - 13.87% 0.03% postgres [.] CommitTransactionCommand 2.44% CommitTransactionCommand - CommitTransaction - 1.90% PreCommit_Portals - 1.83% PortalDrop - 1.84% PortalCleanup - 2.18% pgss_ExecutorEnd - 10.32% pgss_store - 10.77% s_lock 1.30% perform_spin_delay - 13.84% 0.04% postgres [.] CommitTransaction - 2.40% CommitTransaction - 1.90% PreCommit_Portals - 1.83% PortalDrop - 1.84% PortalCleanup - 2.18% pgss_ExecutorEnd - 10.32% pgss_store - 10.77% s_lock 1.30% perform_spin_delay - 13.58% 0.01% postgres [.] finish_xact_command 1.99% finish_xact_command - 12.63% 0.02% postgres [.] PreCommit_Portals - 1.87% PreCommit_Portals - 1.83% PortalDrop - 1.84% PortalCleanup ``` and performance reduce very much. load pg_stat_statements (104core machine): ``` pgbench -M prepared -n -r -P 1 -c 104 -j 104 -T 120 -S transaction type: <builtin: select only> scaling factor: 1000 query mode: prepared number of clients: 104 number of threads: 104 duration: 120 s number of transactions actually processed: 67468127 latency average = 0.185 ms latency stddev = 0.348 ms tps = 562224.744452 (including connections establishing) tps = 562300.147713 (excluding connections establishing) statement latencies in milliseconds: 0.001 \set aid random(1, 100000 * :scale) 0.185 SELECT abalance FROM pgbench_accounts WHERE aid = :aid; ``` unload pg_stat_statements: ``` transaction type: <builtin: select only> scaling factor: 1000 query mode: prepared number of clients: 104 number of threads: 104 duration: 120 s number of transactions actually processed: 187563515 latency average = 0.066 ms latency stddev = 0.014 ms tps = 1562993.591525 (including connections establishing) tps = 1563258.811725 (excluding connections establishing) statement latencies in milliseconds: 0.001 \set aid random(1, 100000 * :scale) 0.065 SELECT abalance FROM pgbench_accounts WHERE aid = :aid; ``` why pg 12 load pg_stat_statements and pg_stat_statements.save set to off will also call pgss_store.
pgsql-bugs by date: