Re: Dead Space Map version 3 (simplified) - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: Dead Space Map version 3 (simplified) |
Date | |
Msg-id | 200704022035.l32KZlm09928@momjian.us Whole thread Raw |
In response to | Dead Space Map version 3 (simplified) (ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp>) |
List | pgsql-patches |
Your patch has been added to the PostgreSQL unapplied patches list at: http://momjian.postgresql.org/cgi-bin/pgpatches It will be applied as soon as one of the PostgreSQL committers reviews and approves it. --------------------------------------------------------------------------- ITAGAKI Takahiro wrote: > Attached is an updated DSM patch. I've left the core function of DSM only > and dropped other complicated features in this release. > > VACUUM finishs faster with the patch, but it's obvious... DSM vacuum > sweeps only pages that have many dead tuples and leave some of them > after vacuum. > > I'll examine the sweep behavior and the performance from now. > > > * Features > - DSM tracks pages worth vacuuming using 1bit/page bit. > The threshold is two dead tuples or 2kB of deadspaces. > - DSM is constructed at page flush. Almost of the works are done by > bgwriter if it is properly configured. > - 'VACUUM' command uses DSM. 'VACUUM ALL' always scans all pages. > - This is including n_dead_tuples statistics fix. > http://momjian.us/mhonarc/patches/msg00002.html > > * Configuration > - max_dsm_relations (=1000) > Counterpart to max_fsm_relations, but count tables only; > Indexes are not tracked by DSM. > - max_dsm_pages (=1024000) > Counterpart to max_dsm_pages. Default values are configurated to > 5 times of max_fsm_pages at initdb. > - min_dsm_target (=8MB) > Minimum size of tables of which dead space is tracked > to avoid tracking small tables, including system catalogs. > > * Limitation > - XID-wraparound vacuum is still required. VACUUM with DSM cannot > update relfrozenxid, so we sometimes needs full-scan. > - No recovery support. All contents of DSM and FSM are lost on crash. > - DSM uses fixed size memory allocated at server start. We cannot change > the value on-the-fly. If we want the feature, we need something like > shared-memory-allocator or swap-supported memory management module. > > Regards, > --- > ITAGAKI Takahiro > NTT Open Source Software Center [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
pgsql-patches by date: