Re: 10.2: high cpu usage on update statement - Mailing list pgsql-general

From Kevin Wilkinson
Subject Re: 10.2: high cpu usage on update statement
Date
Msg-id 5af06316-25fc-cac6-7abe-44e1c8b61801@gmail.com
Whole thread Raw
In response to Re: 10.2: high cpu usage on update statement  (Laurenz Albe <laurenz.albe@cybertec.at>)
List pgsql-general
resolved. sorry for not posting the resolution earlier.

it was a good puzzler. turns out the postgresql server used 
network-attached disks. and the updated table had no index for the 
updated columns. so, the update required a serial scan of the table over 
the network. thus, the high cpu usage for updating a single row.

kevin

On 4/7/2019 11:41 PM, Laurenz Albe wrote:
> Kevin Wilkinson wrote:
>> on 10.2, we're seeing very high cpu usage when doing an update statement
>> on a relatively small table (1GB). one of the updated columns is text,
>> about 1k bytes. there are four threads doing similar updates
>> concurrently to the same table (but different rows). each thread does an
>> update about every two seconds, i.e., the tables gets updated every 1/2
>> second. the stack trace below shows the process stuck in reading the
>> update results. this seems very odd. has anyone seen something similar?
>> this is a modest server of 8 cores, all of which are 90% busy.
> Try to profile the server ("perf" on Linux) to see where the time is spent.
>
> Are there any foreign key constraints pointing to the table being updated?
> Then make sure that either no key column is updates or that the foreign
> keys are indexed.
>
> Yours,
> Laurenz Albe



pgsql-general by date:

Previous
From: Raghavendra Rao J S V
Date:
Subject: Getting error while running the pg_basebackup through PGBOUNCER
Next
From: Pavel Stehule
Date:
Subject: Re: Getting error while running the pg_basebackup through PGBOUNCER