Dead Space Map version 3 (simplified)

Поиск
Список
Период
Сортировка
От ITAGAKI Takahiro
Тема Dead Space Map version 3 (simplified)
Дата
Msg-id 20070330095918.77DE.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
обсуждение исходный текст
Ответы Re: Dead Space Map version 3 (simplified)  (Bruce Momjian <bruce@momjian.us>)
Re: Dead Space Map version 3 (simplified)  ("Pavan Deolasee" <pavan.deolasee@gmail.com>)
Re: Dead Space Map version 3 (simplified)  (Heikki Linnakangas <heikki@enterprisedb.com>)
Re: Dead Space Map version 3 (simplified)  (Bruce Momjian <bruce@momjian.us>)
Список pgsql-patches
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

Вложения

В списке pgsql-patches по дате отправления:

Предыдущее
От: ITAGAKI Takahiro
Дата:
Сообщение: Multibyte LIKE optimization
Следующее
От: "FAST PostgreSQL"
Дата:
Сообщение: COPY-able sql log outputs