Re: 60 core performance with 9.3

From: Mark Kirkwood <mark(dot)kirkwood(at)catalyst(dot)net(dot)nz>
To: Andres Freund <andres(at)2ndquadrant(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: 60 core performance with 9.3
Date: 2014-07-16 23:58:46
Message-ID: 53C711B6.5040802@catalyst.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On 11/07/14 20:22, Andres Freund wrote:
> On 2014-07-11 12:40:15 +1200, Mark Kirkwood wrote:
>> Full report http://paste.ubuntu.com/7777886/
>
>> #
>> 8.82% postgres [kernel.kallsyms] [k]
>> _raw_spin_lock_irqsave
>> |
>> --- _raw_spin_lock_irqsave
>> |
>> |--75.69%-- pagevec_lru_move_fn
>> | __lru_cache_add
>> | lru_cache_add
>> | putback_lru_page
>> | migrate_pages
>> | migrate_misplaced_page
>> | do_numa_page
>> | handle_mm_fault
>> | __do_page_fault
>> | do_page_fault
>> | page_fault
>
> So, the majority of the time is spent in numa page migration. Can you
> disable numa_balancing? I'm not sure if your kernel version does that at
> runtime or whether you need to reboot.
> The kernel.numa_balancing sysctl might work. Otherwise you probably need
> to boot with numa_balancing=0.
>
> It'd also be worthwhile to test this with numactl --interleave.
>

Trying out with numa_balancing=0 seemed to get essentially the same
performance. Similarly wrapping postgres startup with --interleave.

All this made me want to try with numa *really* disabled. So rebooted
the box with "numa=off" appended to the kernel cmdline. Somewhat
surprisingly (to me anyway), the numbers were essentially identical. The
profile, however is quite different:

Full report at http://paste.ubuntu.com/7806285/

4.56% postgres [kernel.kallsyms] [k]
_raw_spin_lock_irqsave

|
--- _raw_spin_lock_irqsave
|
|--41.89%-- try_to_wake_up
| |
| |--96.12%-- default_wake_function
| | |
| | |--99.96%-- pollwake
| | | __wake_up_common
| | | __wake_up_sync_key
| | | sock_def_readable
| | | |
| | | |--99.94%--
unix_stream_sendmsg
| | | |
sock_sendmsg
| | | |
SYSC_sendto
| | | |
sys_sendto
| | | | tracesys
| | | |
__libc_send
| | | | pq_flush
| | | |
ReadyForQuery
| | | |
PostgresMain
| | | |
ServerLoop
| | | |
PostmasterMain
| | | | main
| | | |
__libc_start_main
| | | --0.06%-- [...]
| | --0.04%-- [...]
| |
| |--2.87%-- wake_up_process
| | |
| | |--95.71%--
wake_up_sem_queue_do
| | | SYSC_semtimedop
| | | sys_semop
| | | tracesys
| | | __GI___semop
| | | |
| | | |--99.75%--
LWLockRelease
| | | | |

| | | |
|--25.09%-- RecordTransactionCommit
| | | | |
CommitTransaction
| | | | |
CommitTransactionCommand
| | | | |
finish_xact_command.part.4
| | | | |
PostgresMain
| | | | |
ServerLoop
| | | | |
PostmasterMain
| | | | |
main
| | | | |
__libc_start_main

regards

Mark

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Mark Kirkwood 2014-07-17 00:09:13 Re: 60 core performance with 9.3
Previous Message Magers, James 2014-07-14 17:15:54 Re: Query Performance question