On 2014-10-21 12:40:56 +0530, Amit Kapila wrote:
> While doing performance tests, I noticed a hang at higher client
> counts with patch. I have tried to check call stack for few of
> processes and it is as below:
>
> #0 0x0000008010933e54 in .semop () from /lib64/libc.so.6
> #1 0x0000000010286e48 in .PGSemaphoreLock ()
> #2 0x00000000102f68bc in .LWLockAcquire ()
> #3 0x00000000102d1ca0 in .ReadBuffer_common ()
> #4 0x00000000102d2ae0 in .ReadBufferExtended ()
> #5 0x00000000100a57d8 in ._bt_getbuf ()
> #6 0x00000000100a6210 in ._bt_getroot ()
> #7 0x00000000100aa910 in ._bt_search ()
> #8 0x00000000100ab494 in ._bt_first ()
> #9 0x00000000100a8e84 in .btgettuple ()
> ..
>
> #0 0x0000008010933e54 in .semop () from /lib64/libc.so.6
> #1 0x0000000010286e48 in .PGSemaphoreLock ()
> #2 0x00000000102f68bc in .LWLockAcquire ()
> #3 0x00000000102d1ca0 in .ReadBuffer_common ()
> #4 0x00000000102d2ae0 in .ReadBufferExtended ()
> #5 0x00000000100a57d8 in ._bt_getbuf ()
> #6 0x00000000100a6210 in ._bt_getroot ()
> #7 0x00000000100aa910 in ._bt_search ()
> #8 0x00000000100ab494 in ._bt_first ()
> ...
>
> The test configuration is as below:
> Test env - Power - 7 (hydra)
> scale_factor - 3000
> shared_buffers - 8GB
> test mode - pgbench read only
>
> test execution -
> ./pgbench -c 128 -j 128 -T 1800 -S -M prepared postgres
>
> I have ran it for half an hour, but it doesn't came out even after
> ~2 hours. It doesn't get reproduced every time, currently I am
> able to reproduce it and the m/c is in same state, if you want any
> info, let me know (unfortunately binaries are in release mode, so
> might not get enough information).
Hm. What commit did you apply the series ontop? I managed to reproduce a
hang, but it was just something that heikki had already fixed...
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services