Re: Write Ahead Logging for Hash Indexes
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Mark Kirkwood <mark.kirkwood@catalyst.net.nz>
Cc: Jeff Janes <jeff.janes@gmail.com>,
Ashutosh Sharma <ashu.coek88@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-09-12T02:46:45Z
Lists: pgsql-hackers
On Sun, Sep 11, 2016 at 3:01 PM, Mark Kirkwood <mark.kirkwood@catalyst.net.nz> wrote: > On 11/09/16 19:16, Mark Kirkwood wrote: > >> >> >> On 11/09/16 17:01, Amit Kapila wrote: >>> >>> ...Do you think we can do some read-only >>> workload benchmarking using this server? If yes, then probably you >>> can use concurrent hash index patch [1] and cache the metapage patch >>> [2] (I think Mithun needs to rebase his patch) to do so. >>> >>> >>> >>> [1] - >>> https://www.postgresql.org/message-id/CAA4eK1J6b8O4PcEPqRxNYbLVbfToNMJEEm+qn0jZX31-obXrJw@mail.gmail.com >>> [2] - >>> https://www.postgresql.org/message-id/CAD__OuhJ29CeBif_fLGe4t9Vj_-cFXBwCXhjO+D_16TXbemY+g@mail.gmail.com >>> >>> >> >> I can do - are we checking checking for hangs/assertions or comparing >> patched vs unpatched performance (for the metapage patch)? >> >> The first step is to find any bugs and then do performance testing. What I wanted for performance testing was to compare HEAD against all three patches (all three together) of Hash Index (concurrent hash index, cache the meta page, WAL for hash index). For Head, we want two set of numbers, one with hash indexes and another with btree indexes. As Jeff has found few problems, I think it is better to first fix those before going for performance tests. > > So, assuming the latter - testing performance with and without the metapage > patch: > > For my 1st runs: > > - cpus 16, ran 16G > - size 100, clients 32 > > I'm seeing no difference in performance for read only (-S) pgbench workload > (with everybody using has indexes). I guess not that surprising as the db > fites in ram (1.6G and we have 16G). So I'll retry with a bigger dataset > (suspect size 2000 is needed). > I think you should try with -S -M prepared and with various client counts (8,16,32,64,100...). -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Add a regression test for snapshot too old with hash indexes.
- 42bdaebf1618 10.0 landed
-
hash: Add write-ahead logging support.
- c11453ce0aea 10.0 landed
-
Improve coding in _hash_addovflpage.
- e898437460f5 10.0 cited
-
Remove _hash_wrtbuf() in favor of calling MarkBufferDirty().
- 25216c989384 10.0 cited
-
Improve hash index bucket split behavior.
- 6d46f4783efe 10.0 cited