Re: Slow perormance

From: Samed YILDIRIM <samed(at)reddoc(dot)net>
To: M Sarwar <sarwarmd02(at)outlook(dot)com>
Cc: "pgsql-admin(at)lists(dot)postgresql(dot)org" <pgsql-admin(at)lists(dot)postgresql(dot)org>
Subject: Re: Slow perormance
Date: 2023-07-10 16:28:24
Message-ID: CAAo1mbnSktuGoLn+6T22B+ZQ+uA8r60HNNGPTb4fSK-qoO6Oog@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello Sarwar,

I don't think that your performance problem is related to checkpoint
configuration. Checkpoints were triggered by time according to the log
section you shared, which is good.

If I were you, I would focus on slow queries first and collect more
information from your application team. Also, could you please share a
little more back story about your performance issue?

You can start with setting log_min_duration_statement to a relevant value
for your setup/application.

https://www.postgresql.org/docs/15/runtime-config-logging.html#GUC-LOG-MIN-DURATION-STATEMENT

Best regards.
Samed YILDIRIM

On Mon, 10 Jul 2023 at 19:20, M Sarwar <sarwarmd02(at)outlook(dot)com> wrote:

>
> Hi,
>
> Application team is reporting performance is slow.
>
> While looking at the log, I have the following information from the
> maintenance log.
>
>
>
> Viewing Log: error/postgresql.log.2023-07-10-14 (5.9 kB):-
>
> ****************************************************
>
> 2023-07-10 14:00:01 UTC::@:[355]:LOG: checkpoint complete: wrote 426
> buffers (0.1%); 0 WAL file(s) added, 0 removed, 1 recycled; write=42.847 s,
> sync=0.002 s, total=42.854 s; sync files=12, longest=0.002 s, average=0.001
> s; distance=64874 kB, estimate=66875 kB
>
> 2023-07-10 14:04:19 UTC::@:[355]:LOG: checkpoint starting: time
>
> 2023-07-10 14:08:49 UTC::@:[355]:LOG: checkpoint complete: wrote 9197
> buffers (1.9%); 0 WAL file(s) added, 0 removed, 2 recycled; write=269.779
> s, sync=0.003 s, total=269.789 s; sync files=16, longest=0.003 s,
> average=0.001 s; distance=83868 kB, estimate=83868 kB
>
> 2023-07-10 14:09:19 UTC::@:[355]:LOG: checkpoint starting: time
>
> 2023-07-10 14:10:21 UTC::@:[355]:LOG: checkpoint complete: wrote 622
> buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=62.562 s,
> sync=0.004 s, total=62.569 s; sync files=26, longest=0.004 s, average=0.001
> s; distance=48633 kB, estimate=80345 kB
>
> 2023-07-10 14:13:11 UTC:10.66.238.11(58986):postgres(at)bronxdb1:[27434]:ERROR:
> relation "bronxdev.tek_test_details_wafer" does not exist at character 15
>
> 2023-07-10 14:13:11 UTC:10.66.238.11(58986):postgres(at)bronxdb1:[27434]:STATEMENT:
> select * from bronxdb1.bronxdev.tek_test_details_wafer
>
> 2023-07-10 14:14:19 UTC::@:[355]:LOG: checkpoint starting: time
>
> 2023-07-10 14:15:38 UTC::@:[355]:LOG: checkpoint complete: wrote 784
> buffers (0.2%); 0 WAL file(s) added, 0 removed, 1 recycled; write=78.655 s,
> sync=0.002 s, total=78.662 s; sync files=20, longest=0.002 s, average=0.001
> s; distance=66114 kB, estimate=78922 kB
>
> 2023-07-10 14:19:19 UTC::@:[355]:LOG: checkpoint starting: time
>
> 2023-07-10 14:19:58 UTC::@:[355]:LOG: checkpoint complete: wrote 385
> buffers (0.1%); 0 WAL file(s) added, 0 removed, 1 recycled; write=38.625 s,
> sync=0.002 s, total=38.632 s; sync files=15, longest=0.002 s, average=0.001
> s; distance=63006 kB, estimate=77330 kB
>
> 2023-07-10 14:20:52 UTC:10.66.209.82(49945):postgres(at)bronxdb1:[27821]:ERROR:
> syntax error at or near "[" at character 17
>
> 2023-07-10 14:20:52 UTC:10.66.209.82(49945):postgres(at)bronxdb1:[27821]:STATEMENT:
> select distinct [source]
>
> from bronx.errors
>
> fetch first 100 rows only
>
> 2023-07-10 14:21:57 UTC:10.66.238.11(58986):postgres(at)bronxdb1:[27434]:ERROR:
> relation "bronx.weekly_operations_review_wafer" does not exist at character
> 15
>
> 2023-07-10 14:21:57 UTC:10.66.238.11(58986):postgres(at)bronxdb1:[27434]:STATEMENT:
> select * from bronxdb1.bronx.weekly_operations_review_wafer
>
> LIMIT 10;
>
> 2023-07-10 14:24:19 UTC::@:[355]:LOG: checkpoint starting: time
>
>
>
> I think, we need to manage the check points.
>
> Any help on this would be appreciated.
>
>
>
> I am providing current checkpoint configuration.
>
> RDS / Parameter groups / default.postgres14 / default.postgres14:-
>
> ******************************************************************
>
> Name
>
> Values
>
> Allowed values
>
> Modifiable
>
> Source
>
> Apply type
>
> Data type
>
> Description
>
>
>
> checkpoint_completion_target 0.9 0-1 true system
> dynamic float Time spent flushing dirty buffers during
> checkpoint, as fraction of checkpoint interval.
>
>
>
> checkpoint_flush_after 0-256 true
> engine-default dynamic integer (8kB) Number of pages after
> which previously performed writes are flushed to disk.
>
>
>
> checkpoint_timeout 30-3600 true
> engine-default dynamic integer (s) Sets the maximum time
> between automatic WAL checkpoints.
>
>
>
> checkpoint_warning 0-2147483647 true
> engine-default dynamic integer (s) Enables warnings if
> checkpoint segments are filled more frequently than this.
>
>
>
> log_checkpoints 1 0, 1 true
> engine-default dynamic boolean Logs each
> checkpoint.
>
> Recent events
>
>
>
> Can you please help in making the changes suitably or point me to the
> documentation?
>
>
>
> Thanks,
>
> Sarwar
>
>
>
>
>

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message M Sarwar 2023-07-10 23:12:12 Re: Slow perormance
Previous Message M Sarwar 2023-07-10 16:20:08 Slow perormance