On 10/03/16 09:57, Dilip Kumar wrote:
>
> On Thu, Mar 10, 2016 at 7:55 AM, Petr Jelinek <petr@2ndquadrant.com
> <mailto:petr@2ndquadrant.com>> wrote:
>
> Thanks for the comments..
>
> Hmm, why did you remove the comment above the call to
> UnlockRelationForExtension?
>
> While re factoring I lose this comment.. Fixed it
>
> It still seems relevant, maybe with some minor modification?
>
> Also there is a bit of whitespace mess inside the conditional lock
> block.
>
> Fixed
>
> I got the result of 10 mins run so posting it..
> Note: Base code results are copied from up thread...
>
> Results For 10 Mins run of COPY 10000 records of size 4 bytes script and
> configuration are same as used in up thread
> --------------------------------------------------------------------------------------------
>
> Client Base Patch
> 1 105 111
> 2 217 246
> 4 210 428
> 8 166 653
> 16 145 808
> 32 124 988
> 64 --- 974
>
>
> Results For 10 Mins run of INSERT 1000 records of size 1024 bytes(data
> don't fits in shared buffer)
> --------------------------------------------------------------------------------------------------
>
> Client Base Patch
> 1 117 120
> 2 111 126
> 4 51 130
> 8 43 147
> 16 40 209
> 32 --- 254
> 64 --- 205
>
Those look good. The patch looks good in general now. I am bit scared by
the lockWaiters * 20 as it can result in relatively big changes in rare
corner cases when for example a lot of backends were waiting for lock on
relation and suddenly all try to extend it. I wonder if we should clamp
it to something sane (although what's sane today might be small in
couple of years).
-- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training &
Services