Re: Parallel heap vacuum

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
Cc: Melanie Plageman <melanieplageman(at)gmail(dot)com>, John Naylor <johncnaylorls(at)gmail(dot)com>, Tomas Vondra <tomas(at)vondra(dot)me>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Parallel heap vacuum
Date: 2025-03-10 06:28:38
Message-ID: CAA4eK1+0VeZ-9wKgcVhk2vx-mWWAZUrjRF0Z3_GvSd0u60=heg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Mar 7, 2025 at 11:06 PM Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
> Discussing with Amit offlist, I've run another benchmark test where no
> data is loaded on the shared buffer. In the previous test, I loaded
> all table blocks before running vacuum, so it was the best case. The
> attached test results showed the worst case.
>
> Overall, while the numbers seem not stable, the phase I got sped up a
> bit, but not as scalable as expected, which is not surprising.
>

Sorry, but it is difficult for me to understand this data because it
doesn't contain the schema or details like what exactly is a fraction.
It is also not clear how the workers are divided among heap and
indexes, like do we use parallelism for both phases of heap or only
first phase and do we reuse those workers for index vacuuming. These
tests were probably discussed earlier, but it would be better to
either add a summary of the required information to understand the
results or at least a link to a previous email that has such details.

Please
> note that the test results shows that the phase III also got sped up
> but this is because in parallel vacuum we use more ring buffers than
> the single process vacuum. So we need to compare the only phase I time
> in terms of the benefit of the parallelism.
>

Does phase 3 also use parallelism? If so, can we try to divide the
ring buffers among workers or at least try vacuum with an increased
number of ring buffers. This would be good to do for both the phases,
if they both use parallelism.

--
With Regards,
Amit Kapila.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Shubham Khanna 2025-03-10 06:30:50 Re: Adding a '--clean-publisher-objects' option to 'pg_createsubscriber' utility.
Previous Message Bertrand Drouvot 2025-03-10 06:24:29 Re: Log connection establishment timings