> On Mar 31, 2025, at 06:54, Eden Aharoni <ed...@legitsecurity.com> wrote:
> Is this expected IO read rate? I can’t help but feel we’re missing something
> here..
Really, no particular I/O rate is "expected": if PostgreSQL needs that much
data, it'll use that much I/O to get it. From your description, it's likely
that it's a case of the working set for the database just not fitting into the
memory you have, so PostgreSQL needs to go out to secondary storage a lot to
fetch the data.
The best first step is to use Performance Insights to see which queries are
using I/O, and run sample ones with EXPLAIN (ANALYZE, BUFFERS) to see where the
I/O is being used within the query. Given that you allow users to assemble
arbitrary queries, it's likely that PostgreSQL is having to use a wide variety
of indexes (or sequential scans), so it can't successfully cache a particular
set in memory.