Re: Patch: Write Amplification Reduction Method (WARM)
Pavan Deolasee <pavan.deolasee@gmail.com>
From: Pavan Deolasee <pavan.deolasee@gmail.com>
To: Haribabu Kommi <kommi.haribabu@gmail.com>
Cc: Tomas Vondra <tomas.vondra@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-11-12T11:12:41Z
Lists: pgsql-hackers
Attachments
- 0001_track_root_lp_v5.patch (application/octet-stream) patch v5
- 0002_warm_updates_v5.patch (application/octet-stream) patch v5
On Tue, Nov 8, 2016 at 9:13 AM, Haribabu Kommi <kommi.haribabu@gmail.com> wrote: > > Thanks for the patch. This shows a very good performance improvement. > > Thank you. Can you please share the benchmark you ran, results and observations? > I started reviewing the patch, during this process and I ran the regression > test on the WARM patch. I observed a failure in create_index test. > This may be a bug in code or expected that needs to be corrected. > Can you please share the diff? I ran regression after applying patch on the current master and did not find any change? Does it happen consistently? I'm also attaching fresh set of patches. The first patch hasn't changed at all (though I changed the name to v5 to keep it consistent with the other patch). The second patch has the following changes: 1. WARM updates are now tracked separately. We still don't count number of index inserts separately as suggested by Tomas. 2. We don't do a WARM update if all columns referenced by all indexes have changed. Ideally, we should check if all indexes will require an update and avoid WARM. So there is still some room for improvement here 3. I added a very minimal regression test case. But really, it just contains one test case which I specifically wanted to test. So not a whole lot of changes since the last version. I'm still waiting for some serious review of the design/code before I spend a lot more time on the patch. I hope the patch receives some attention in this CF. Thanks, Pavan -- Pavan Deolasee http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Implement SortSupport for macaddr data type
- f90d23d0c518 10.0 cited
-
Simplify check of modified attributes in heap_update
- 2fd8685e7fd9 10.0 landed
-
Remove direct uses of ItemPointer.{ip_blkid,ip_posid}
- ce96ce60ca22 10.0 landed
-
Fix CatalogTupleInsert/Update abstraction for case of shared indstate.
- aedd554f84bb 10.0 landed
-
Provide CatalogTupleDelete() as a wrapper around simple_heap_delete().
- ab02896510e2 10.0 landed
-
Band-aid fix for incorrect use of view options as StdRdOptions.
- e3e66d8a9813 10.0 cited
-
Update visibility map in the second phase of vacuum.
- fdf9e21196a6 9.3.0 cited
-
Avoid having two copies of the HOT-chain search logic.
- 4da99ea4231e 9.2.0 cited
-
Postgres95 1.01 Distribution - Virgin Sources
- d31084e9d111 7.1.1 cited