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

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Performance degradation on concurrent COPY into a single relation in PG16.
Date: 2023-07-03 02:59:38
Message-ID: CAD21AoDenr=g1rKTMJf8JXmVOJqwmrmjjqPRTR4aBxCoXzFO=w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Jul 3, 2023 at 11:55 AM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
> After further investigation, the performance degradation comes from
> calling posix_fallocate() (called via FileFallocate()) and pwritev()
> (called via FileZero) alternatively depending on how many blocks we
> extend by. And it happens only on the xfs filesystem.

FYI, the attached simple C program proves the fact that calling
alternatively posix_fallocate() and pwrite() causes slow performance
on posix_fallocate():

$ gcc -o test test.c
$ time ./test test.1 1
total 200000
fallocate 200000
filewrite 0

real 0m1.305s
user 0m0.050s
sys 0m1.255s

$ time ./test test.2 2
total 200000
fallocate 100000
filewrite 100000

real 1m29.222s
user 0m0.139s
sys 0m3.139s

Regards,

--
Masahiko Sawada
Amazon Web Services: https://aws.amazon.com

Attachment Content-Type Size
test.c text/x-c-code 952 bytes

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2023-07-03 03:57:31 Re: pgsql: Fix search_path to a safe value during maintenance operations.
Previous Message Masahiko Sawada 2023-07-03 02:55:13 Performance degradation on concurrent COPY into a single relation in PG16.