Re: Performance degradation on concurrent COPY into a single relation in PG16.

David Rowley <dgrowleyml@gmail.com>

From: David Rowley <dgrowleyml@gmail.com>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Masahiko Sawada <sawada.mshk@gmail.com>, Jakub Wartak <jakub.wartak@enterprisedb.com>, Andrew Dunstan <andrew@dunslane.net>, Peter Eisentraut <peter@eisentraut.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-08-02T01:35:49Z
Lists: pgsql-hackers
On Wed, 2 Aug 2023 at 12:25, David Rowley <dgrowleyml@gmail.com> wrote:
> master @ 3845577cb
> latency average = 1575.879 ms
>
>    6.79%  postgres          [.] pg_strtoint32_safe
>
> master~1
> latency average = 1968.004 ms
>
>   14.28%  postgres          [.] pg_strtoint32_safe
>
> REL_16_STABLE
> latency average = 1735.163 ms
>
>    6.04%  postgres          [.] pg_strtoint32_safe
>
> REL_16_STABLE~1
> latency average = 2188.186 ms
>
>   13.83%  postgres          [.] pg_strtoint32_safe

And just to complete that set, here's the REL_15_STABLE performance
using the same test:

latency average = 1829.108 ms

15.46%  postgres          [.] pg_strtoint32

So, it looks like this item can be closed off.  I'll hold off from
doing that for a few days just in case anyone else wants to give
feedback or test themselves.

David



Commits

  1. Avoid edge case in pg_visibility test with small shared_buffers

  2. Fix bulk table extension when copying into multiple partitions

  3. hio: Take number of prior relation extensions into account

  4. Fix performance regression in pg_strtointNN_safe functions

  5. Fix performance problem with new COPY DEFAULT code

  6. hio: Use ExtendBufferedRelBy() to extend tables more efficiently

  7. Add VACUUM/ANALYZE BUFFER_USAGE_LIMIT option