On Fri, Sep 23, 2022 at 9:07 AM Justin Pryzby <pryzby@telsasoft.com> wrote:
> On Sun, Aug 28, 2022 at 02:28:02PM -0700, Andres Freund wrote:
> > > > > - # Workaround around performance issues due to 32KB block size
> > > > > - repartition_script: src/tools/ci/gcp_freebsd_repartition.sh
> > > > > create_user_script: |
> > > > > pw useradd postgres
> > > > > chown -R postgres:postgres .
> > > >
> > > > What's the story there - at some point that was important for performance
> > > > because of the native block size triggering significant read-modify-write
> > > > cycles with postres' writes. You didn't comment on it in the commit message.
> > >
> > > Well, I don't know the history, but it seems to be unneeded now.
> >
> > It's possible it was mainly needed for testing with aio + dio. But also
> > possible that an upgrade improved the situation since.
Yeah, it is very important for direct I/O (patches soon...), because
every 8KB random write becomes a read-32KB/wait/write-32KB without it.
It's slightly less important for buffered I/O, because the kernel
caches hide that, but it still triggers I/O bandwidth amplification,
and we definitely saw positive effects earlier on the CI system back
on the previous generation. FWIW I am planning to see about getting
the FreeBSD installer to create the root file system the way we want,
instead of this ugliness.
> Maybe freebsd got faster as a result of the TAU CPUs?
> [data]
Very interesting. Would be good to find the exact instance types +
storage types to see if there has been a massive IOPS boost, perhaps
via local SSD. The newer times are getting closer to a local
developer machine.