On Sat, Apr 23, 2016 at 11:21 AM, Sameer Kumar <sameer.kumar@xxxxxxxxxx> wrote:
On Fri, Apr 22, 2016 at 5:21 PM raghu vineel <raghuvineel@xxxxxxxxx> wrote:Hi,I have a 4 core CPU for postgres and I have submitted 6 queries parallely in 6 different sessions. But I am seeing only 1 query per CPU and the remainig queries are queued. I am not sure why is it happening. Do you have any special scheduler for postgres? I can see that CPU has been shared with other non postgres processes but postgres processes are not sharing any CPU within a core. The following is the process states.
lms 2868 2209 98 07:20 ? 00:02:30 postgres: lms controller [local] SELECT
lms 2869 2209 98 07:20 ? 00:02:30 postgres: lms controller [local] SELECT
lms 2870 2209 0 07:20 ? 00:00:00 postgres: lms controller [local] SELECT
lms 2871 2209 0 07:20 ? 00:00:00 postgres: lms controller [local] SELECT
lms 2872 2209 0 07:20 ? 00:00:00 postgres: lms controller [local] SELECT
lms 2873 2209 98 07:20 ? 00:02:30 postgres: lms controller [local] SELECTIf you see above, three Select queries have been queued. They are acquiring CPU only when there is a core without any postgres query running on it.I know the postgres limitation of one query using only one core. But is there any limitation of one CPU running only one query at a time?Are all the queries related to the same table(s)?Which version of PostgreSQL? What's the version of OS?Check out the locks which are not granted yet - pg_locks.grantedVineel.Your help is appreciated.Thanks and regards,----Best RegardsSameer Kumar | DB Solution ArchitectASHNIK PTE. LTD.101 Cecil Street, #11-11 Tong Eng Building, Singapore 069 533
T: +65 6438 3504 | M: +65 8110 0350 | www.ashnik.com
Yes, they query the same table. But all queries are select only. Postgres is 8.3 and OS is LINUX 2.6.32-431.el6.x86_64.
Also I could see that pg_locks.granted is true for the queries I have submitted and lock mode is AccessShareLock.