Re: 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)" <amit(dot)kapila16(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: why after increase the hash table partitions, TPMC decrease
Date: 2014-09-03 03:14:42
Message-ID: E8870A2F6A4B1045B1C292B77EAB207C5BA39878@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. perf data file is more than 1M, so I do not attach it. I send it separately.

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

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2014-09-03 04:15:20 Re: Scaling shared buffer eviction
Previous Message Xiaoyulei 2014-09-03 03:02:51 RE: 答复: [HACKERS] why after increase the hash table partitions, TPMC decrease