RE: 答复: [HACKERS] why after increase the hash table partitions, TPMC decrease

From: Xiaoyulei <xiaoyulei(at)huawei(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: RE: 答复: [HACKERS] why after increase the hash table partitions, TPMC decrease
Date: 2014-09-03 03:02:51
Message-ID: E8870A2F6A4B1045B1C292B77EAB207C5BA39739@SZXEMA501-MBX.china.huawei.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

benchmarSQL has about half reads. So I think it should be effective.

I don't think BufFreelistLock take much time, it just get a buffer from list. It should be very fast.

The test server has 2 CPUs and 12 cores in each CPU. 24 processor totally. CPU Idle time is over 50%. IO only 10%(data is in SSD)

I perf one process of pg. The hot spot is hash search. Attachment is perf data file.

3.63% postgres postgres [.] hash_search_with_hash_value
3.10% postgres postgres [.] AllocSetAlloc
3.04% postgres postgres [.] LWLockAcquire
2.73% postgres postgres [.] _bt_compare
2.66% postgres postgres [.] SearchCatCache
2.18% postgres postgres [.] ExecInitExpr
2.11% postgres postgres [.] GetSnapshotData
1.57% postgres postgres [.] PinBuffer
1.41% postgres postgres [.] XLogInsert
1.36% postgres libc-2.11.3.so [.] _int_malloc
1.31% postgres postgres [.] LWLockRelease
1.09% postgres libc-2.11.3.so [.] __GI_memcpy
0.89% postgres postgres [.] _bt_checkkeys
0.82% postgres libc-2.11.3.so [.] __strncpy_ssse3
0.81% postgres postgres [.] palloc
0.81% postgres postgres [.] fmgr_info_cxt_security
0.76% postgres postgres [.] equal
0.75% postgres postgres [.] s_lock
0.73% postgres postgres [.] heap_hot_search_buffer

>From: Amit Kapila [mailto:amit(dot)kapila16(at)gmail(dot)com]
>Sent: Tuesday, September 02, 2014 10:44 PM
>To: Xiaoyulei
>Cc: pgsql-hackers(at)postgresql(dot)org
>Subject: Re: 答复: [HACKERS] why after increase the hash table partitions, TPMC decrease
>
>On Tue, Sep 2, 2014 at 5:20 PM, Xiaoyulei <xiaoyulei(at)huawei(dot)com> wrote:
>>
>> I already modified MAX_SIMUL_LWLOCKS to make sure it is enough.
>
>Okay.
>
>>  
>>
>> Total RAM is 130G, and I set shared_buffers 16G, CPU and IO is not full. 50% CPUs are idle.
>
>As far as I understand, benchmarkSQL measures an OLTP
>workload performance which means it contains mix of reads
>and writes, now I am not sure how you have identified that
>increasing buffer partitions can improve the performance.
>Have you used any profiling?
>
>> So I think maybe pg is blocked by some place in itself.
>
>Yeah, there's another lock BufFreelistLock which is a major
>cause of contention in buffer allocation and for which already
>work is in progress for 9.5.  However as mentioned previously,
>that will be useful mainly for Read only loads.
>
>
>
>
>With Regards,
>Amit Kapila.
>EnterpriseDB: http://www.enterprisedb.com

Attachment Content-Type Size
perf.data.bz2 application/octet-stream 1.5 MB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Xiaoyulei 2014-09-03 03:14:42 Re: why after increase the hash table partitions, TPMC decrease
Previous Message Bruce Momjian 2014-09-03 02:59:05 Re: pg_upgrade and epoch