Re: Resurrecting per-page cleaner for btree
От | ITAGAKI Takahiro |
---|---|
Тема | Re: Resurrecting per-page cleaner for btree |
Дата | |
Msg-id | 20060726130209.55D7.ITAGAKI.TAKAHIRO@oss.ntt.co.jp обсуждение исходный текст |
Ответ на | Re: [PATCHES] Resurrecting per-page cleaner for btree (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: Resurrecting per-page cleaner for btree
|
Список | pgsql-hackers |
Tom Lane <tgl@sss.pgh.pa.us> wrote: > ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp> writes: > I've applied this but I'm now having some second thoughts about it, > because I'm seeing an actual *decrease* in pgbench numbers from the > immediately prior CVS HEAD code. > Had you done any performance testing on this patch, and if so what > tests did you use? I'm a bit hesitant to try to fix it on the basis > of pgbench results alone. Thank you for applying and adding documentation. But hmm... I tested on DBT-2 and pgbench, and the patch worked well on both. I used disks with battery backup for WAL and enabled writeback cache, so the extra WAL records might be of no significance. On DBT-2, the bottleneck was completely the data disks. Cache usage was important there, so avoiding splitting was useful for saving momory. On pgbench, full dataset was cached in memory, so the bottleneck was CPUs. Especially cleanup for branches_pkey was effective because it was frequently updated and had many LP_DELETE'd tuples. Degradation was eased on my machine. > The problem is that we've traded splitting a page every few hundred > inserts for doing a PageIndexMultiDelete, and emitting an extra WAL > record, on *every* insert. This is not good. I suspect PageIndexMultiDelete() consumes CPU. If there are one or two dead tuples, PageIndexTupleDelete() is called and memmove(4KB average) and adjustment of the linepointer-offsets are performed everytime. I think this is a heavy operation. But if the size of most upper index entry is same with the dead tuple, we can only move the upper to the hole and avoid to modify all tuples. Is this change acceptable? Regards, --- ITAGAKI Takahiro NTT Open Source Software Center
В списке pgsql-hackers по дате отправления: