On Mon, Jul 3, 2023 at 11:55 AM Masahiko Sawada <sawada.mshk@gmail.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