Re: testing ProcArrayLock patches

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Robert Haas" <robertmhaas(at)gmail(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: testing ProcArrayLock patches
Date: 2011-11-18 19:05:52
Message-ID: 4EC65830020000250004323F@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

> Any chance you can run oprofile (on either branch, don't really
> care) against the 32 client test and post the results?

Besides the other changes we discussed, I boosted scale to 150 and
ran at READ COMMITTED isolation level (because all threads promptly
crashed and burned at REPEATABLE READ -- we desperately need a
pgbench option to retry a transaction on serialization failure).
The oprofile hot spots at half a percent or higher:

CPU: Intel Core/i7, speed 2262 MHz (estimated)
Counted CPU_CLK_UNHALTED events (Clock cycles when not halted) with
a unit mask of 0x00 (No unit mask) count 100000
samples % image name symbol name
933394 4.9651 postgres AllocSetAlloc
848476 4.5134 postgres base_yyparse
719515 3.8274 postgres SearchCatCache
461275 2.4537 postgres hash_search_with_hash_value
426411 2.2682 postgres GetSnapshotData
322938 1.7178 postgres LWLockAcquire
322236 1.7141 postgres core_yylex
305471 1.6249 postgres MemoryContextAllocZeroAligned
281543 1.4976 postgres expression_tree_walker
270241 1.4375 postgres XLogInsert
234899 1.2495 postgres MemoryContextAlloc
210137 1.1178 postgres ScanKeywordLookup
184857 0.9833 postgres heap_page_prune
173608 0.9235 postgres hash_any
153011 0.8139 postgres _bt_compare
144538 0.7689 postgres nocachegetattr
131466 0.6993 postgres fmgr_info_cxt_security
131001 0.6968 postgres grouping_planner
130808 0.6958 postgres LWLockRelease
124112 0.6602 postgres PinBuffer
120745 0.6423 postgres LockAcquireExtended
112992 0.6010 postgres ExecInitExpr
112830 0.6002 postgres lappend
112311 0.5974 postgres new_list
110368 0.5871 postgres check_stack_depth
106036 0.5640 postgres AllocSetFree
102565 0.5456 postgres MemoryContextAllocZero
94689 0.5037 postgres SearchSysCache

Do you want line numbers or lower percentages?

Two runs:

tps = 21946.961196 (including connections establishing)
tps = 22911.873227 (including connections establishing)

For write transactions, that seems pretty respectable.

-Kevin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message anarazel@anarazel.de 2011-11-18 19:10:43 Re: testing ProcArrayLock patches
Previous Message Thom Brown 2011-11-18 18:41:32 Re: COUNT(*) and index-only scans