Hi Pavel, Thanks for the reply. 1. The queries aren’t waiting on any locks.
The query has a recursive join that uses a table with only 80k records and that table is not updated often. 2. The I/O load was not high. CPU utilization was very high and load was very high. We have a large effective_cache_size = 512GB (25% of total memory) Thanks, Jamie From: Pavel Stehule [mailto:pavel.stehule@xxxxxxxxx]
Hi 2015-10-20 19:34 GMT+02:00 Jamie Koceniak <jkoceniak@xxxxxxxxxxxxx>: Version: ----------------------------------------------------------------------------------------------- PostgreSQL 9.1.14 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.7.2-5) 4.7.2, 64-bit Query Plan http://explain.depesz.com/s/4s37 Normally, this query takes around 200-300 ms to execute. However when several queries are run concurrently, query performance drops to 30-60 seconds. there can be few reasons: 1. locking - are you sure, so your queries don't wait on locks? 2. issues with cache stability - is there high IO load? You can try to increase effective_cache_size (or decrease if you have not enough memory) Regards Pavel |