Re: testing ProcArrayLock patches - Mailing list pgsql-hackers

From Kevin Grittner
Subject Re: testing ProcArrayLock patches
Date
Msg-id 4EC65830020000250004323F@gw.wicourts.gov
Whole thread Raw
In response to Re: testing ProcArrayLock patches  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: testing ProcArrayLock patches
Re: testing ProcArrayLock patches
List pgsql-hackers
Robert Haas <robertmhaas@gmail.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


pgsql-hackers by date:

Previous
From: Thom Brown
Date:
Subject: Re: COUNT(*) and index-only scans
Next
From: "anarazel@anarazel.de"
Date:
Subject: Re: testing ProcArrayLock patches