Re: BitmapHeapScan streaming read user and prelim refactoring

From: Tomas Vondra <tomas(at)vondra(dot)me>
To: Melanie Plageman <melanieplageman(at)gmail(dot)com>
Cc: Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: BitmapHeapScan streaming read user and prelim refactoring
Date: 2025-02-16 12:29:35
Message-ID: d24c9b1d-4ab5-4d43-98f9-a8b807a85094@vondra.me
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2/16/25 02:15, Tomas Vondra wrote:
>
> ...
>
> OK, I've uploaded the results to the github repository as usual
>
> https://github.com/tvondra/bitmapscan-tests/tree/main/20250214-184807
>
> and I've generated the same PDF reports, with the colored comparison.
>
> If you compare the pivot tables (I opened the "same" PDF from the two
> runs and flip between them using alt-tab, which makes the interesting
> regions easy to spot), the change is very clear.
>
> Disabling the sequential detection greatly reduces the scope of
> regressions. That looks pretty great, IMO.
>
> It also seems to lose some speedups, especially with io_combine_limit=1
> and eic=1. I'm not sure why, if that's expected, etc.
>
> There still remain areas of regression, but most of them are for cases
> that'd use index scan (tiny fraction of rows scanned), or with
> read-ahead=4096 (and not for the lower settings).
>
> The read-ahead dependence is actually somewhat interesting, because I
> realized the RAID array has this set to 8192 by default, i.e. even
> higher than 4096 where it regresses. I suppose mdadm does that, or
> something, I don't know how the default is calculated. But I assume it
> depends on the number of devices, so larger arrays might have even
> higher read-ahead values.
>
> I'm running the benchmarks with ra=8192, shouldn't take more than a
> couple hours.
>

And done, uploaded to

https://github.com/tvondra/bitmapscan-tests/tree/main/20250216-014254

The PDFs combine the results with the previous run for other read-ahead
values.

Overall, it seems about the same as for read-ahead 4096. The regressions
are a bit stronger, but nothing surprising.

regards

--
Tomas Vondra

Attachment Content-Type Size
results.pdf application/pdf 336.0 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tomas Vondra 2025-02-16 16:56:31 Re: psql: Add tab completion for ALTER USER RESET
Previous Message Andrey Borodin 2025-02-16 12:03:44 Re: Add Option To Check All Addresses For Matching target_session_attr