Re: Eagerly evict bulkwrite strategy ring
Nazir Bilal Yavuz <byavuz81@gmail.com>
From: Nazir Bilal Yavuz <byavuz81@gmail.com>
To: Melanie Plageman <melanieplageman@gmail.com>
Cc: Kirill Reshke <reshkekirill@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2025-09-10T10:14:25Z
Lists: pgsql-hackers
Hi, On Tue, 9 Sept 2025 at 20:37, Melanie Plageman <melanieplageman@gmail.com> wrote: > > On Mon, Aug 25, 2025 at 3:03 PM Melanie Plageman > <melanieplageman@gmail.com> wrote: > > > > I just finished a draft of a patch set to do write combining for COPY > > FROM using this same heuristic as this patch for deciding to eagerly > > flush but then combining multiple buffers into a single IO. That has > > larger performance gains, so one could argue to wait to do that. > > Attached v3 uses the same code structure as in the checkpointer write > combining thread [1]. I need the refactoring of FlushBuffer() now > included in this set to do the write combining in checkpointer. Upon > testing, I did notice that write combining seemed to have little > effect on COPY FROM beyond what eagerly flushing the buffers in the > ring has. The bottleneck is WAL IO and CPU. While we will need the > COPY FROM write combining to use direct IO, perhaps it is not worth > committing it just yet. For now, this thread remains limited to > eagerly flushing buffers in the BAS_BULKWRITE strategy ring. Reviewing patches here instead of the checkpointer write combining thread.