Re: BitmapHeapScan streaming read user and prelim refactoring
Jakub Wartak <jakub.wartak@enterprisedb.com>
On Mon, Mar 17, 2025 at 10:46 PM Melanie Plageman <melanieplageman@gmail.com> wrote: > > On Mon, Mar 17, 2025 at 2:55 PM Andres Freund <andres@anarazel.de> wrote: > > > > On 2025-03-17 14:52:02 -0400, Melanie Plageman wrote: > > > I don't feel strongly that we need to be as rigorous for > > > maintenance_io_concurrency, but I'm also not sure 160 seems reasonable > > > (which would be the same ratio as before). > > > > I'd lean towards just setting them to the same value for now. > > Cool, here's the patch I intend to commit. I had a bit of trouble > clearly explaining the situation in the commit message which is why I > didn't directly commit it. If no one has ideas on how to clarify it > by tomorrow, I'll just push it. Hi Melanie, same (160 is probably way too high for default m_io_c on default/small systems with s_b=128MB, but the same value is probably fine), so +1. One may say that higher m_io_c may hurt , but at least for startup/recovery performance see image [1] (from thread [2]) - it shows running it on NVMe with m_io_c=128 and being faster than default =10 and later Tomas V. pushed it even into value of "500" [3]. Hope that helps. -J. [1] https://www.postgresql.org/message-id/attachment/116928/trandomuuids-without-FPW-1.5kTPS_lagOverSize.csv-comments.png [2] https://www.postgresql.org/message-id/VI1PR0701MB69608CBCE44D80857E59572EF6CA0%40VI1PR0701MB6960.eurprd07.prod.outlook.com [3] https://www.postgresql.org/message-id/c5d52837-6256-0556-ac8c-d6d3d558820a%40enterprisedb.com
Commits
-
Fix bitmapheapscan incorrect recheck of NULL tuples
- aea916fe555a 18.0 landed
-
Increase default maintenance_io_concurrency to 16
- cc6be07ebde2 18.0 landed
-
Separate TBM[Shared|Private]Iterator and TBMIterateResult
- 944e81bf99db 18.0 landed
-
Improve read_stream.c advice for dense streams.
- 7ea8cd15661e 18.0 landed
-
Increase default effective_io_concurrency to 16
- ff79b5b2aba0 18.0 landed
-
Delay extraction of TIDBitmap per page offsets
- bfe56cdf9a4e 18.0 landed
-
Add lossy indicator to TBMIterateResult
- b8778c4cd8bc 18.0 landed
-
Move BitmapTableScan per-scan setup into a helper
- a5358c14b2fe 18.0 landed
-
Add and use BitmapHeapScanDescData struct
- f7a8fc10ccb8 18.0 landed
-
Fix bitmap table scan crash on iterator release
- 754c610e13b8 18.0 landed
-
Bitmap Table Scans use unified TBMIterator
- 1a0da347a7ac 18.0 landed
-
Add common interface for TBMIterators
- 7f9d4187e7ba 18.0 landed
-
Make table_scan_bitmap_next_block() async-friendly
- de380a62b5da 18.0 landed
-
Move EXPLAIN counter increment to heapam_scan_bitmap_next_block
- 7bd7aa4d3067 18.0 landed
-
Refactor tidstore.c iterator buffering.
- f6bef362cac8 18.0 cited
-
BitmapHeapScan: Remove incorrect assert and reset field
- a3e6c6f92991 17.0 landed
-
Change BitmapAdjustPrefetchIterator to accept BlockNumber
- 92641d8d651e 17.0 landed
-
BitmapHeapScan: Use correct recheck flag for skip_fetch
- 1fdb0ce9b109 17.0 landed
-
BitmapHeapScan: Push skip_fetch optimization into table AM
- 04e72ed617be 17.0 landed
-
BitmapHeapScan: postpone setting can_skip_fetch
- fe1431e39cdd 17.0 landed
-
BitmapHeapScan: begin scan after bitmap creation
- 1577081e9614 17.0 landed
-
Fix EXPLAIN Bitmap heap scan to count pages with no visible tuples
- f3e4581acdc8 12.19 landed
- 992189a3e94d 13.15 landed
- 262757b73286 14.12 landed
- d3d95f583995 15.7 landed
- 1f4eb734200a 16.3 landed
- 0960ae1967d0 17.0 landed
-
Remove redundant snapshot copying from parallel leader to workers
- 84c18acaf690 17.0 landed
-
Remove some obsolete smgrcloseall() calls.
- 6a8ffe812d19 17.0 cited
-
Remove the "snapshot too old" feature.
- f691f5b80a85 17.0 cited
-
Compute XID horizon for page level index vacuum on primary.
- 558a9165e081 12.0 cited