Re: Recursive query performance issue - Mailing list pgsql-performance

From Jamie Koceniak
Subject Re: Recursive query performance issue
Date
Msg-id BY2PR12MB07117089BB53A77E3D690272A4380@BY2PR12MB0711.namprd12.prod.outlook.com
Whole thread Raw
In response to Re: Recursive query performance issue  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-performance

adama_prod=# SHOW shared_buffers;

shared_buffers

----------------

64GB

 

From: Pavel Stehule [mailto:pavel.stehule@gmail.com]
Sent: Wednesday, October 21, 2015 12:26 PM
To: Jamie Koceniak
Cc: pgsql-performance@postgresql.org
Subject: Re: [PERFORM] Recursive query performance issue

 

 

 

2015-10-21 20:51 GMT+02:00 Jamie Koceniak <jkoceniak@mediamath.com>:

Hi Pavel,

 

Or were you referring to SHMMAX?

 

value of shared_buffers - run SQL statements SHOW shared_buffers;

Regards

Pavel

 

Thanks

 

From: Jamie Koceniak
Sent: Wednesday, October 21, 2015 11:40 AM
To: 'Pavel Stehule'
Cc: pgsql-performance@postgresql.org
Subject: RE: [PERFORM] Recursive query performance issue

 

Ok

 

df -h /dev/shm

Filesystem      Size  Used Avail Use% Mounted on

tmpfs           406G     0  406G   0% /run/shm

 

Ok I will try lowering it.

 

From: Pavel Stehule [mailto:pavel.stehule@gmail.com]
Sent: Wednesday, October 21, 2015 11:24 AM


To: Jamie Koceniak
Cc: pgsql-performance@postgresql.org
Subject: Re: [PERFORM] Recursive query performance issue

 

 

 

2015-10-21 19:55 GMT+02:00 Jamie Koceniak <jkoceniak@mediamath.com>:

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)

 

so your server has 2TB RAM? It is not usual server - so this issue can be pretty strange :(

What is size of shared memory? Probably is significantly lower than effective_cache_size? Try to reduce effective cache size to be lower than shared buffers

Regards

Pavel


 

 

Thanks,

Jamie

 

From: Pavel Stehule [mailto:pavel.stehule@gmail.com]
Sent: Wednesday, October 21, 2015 12:04 AM
To: Jamie Koceniak
Cc: pgsql-performance@postgresql.org
Subject: Re: [PERFORM] Recursive query performance issue

 

Hi

 

2015-10-20 19:34 GMT+02:00 Jamie Koceniak <jkoceniak@mediamath.com>:

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

 

 

 

 

 

pgsql-performance by date:

Previous
From: Jamie Koceniak
Date:
Subject: Re: Recursive query performance issue
Next
From: Jamie Koceniak
Date:
Subject: Re: Recursive query performance issue