SORU
19 Ocak 2010, Salı


PostgreSQL: pg_dump, pg_restore performansını artırmak

Başladığımda, varsayılan sade biçimi ile pg_dump kullandım. Kültürsüz olduğumu.

Araştırma bana zaman ortaya ve pg_dump -Fc | gzip -9 -c > dumpfile.gz dosya boyutu iyileştirmeler. Aydınlandım.

Zaman veritabanını yeniden oluşturmak için geldiğinde

# create tablespace dbname location '/SAN/dbname';
# create database dbname tablespace dbname;
# alter database dbname set temp_tablespaces = dbname;

% gunzip dumpfile.gz              # to evaluate restore time without a piped uncompression
% pg_restore -d dbname dumpfile   # into a new, empty database defined above

Kültürsüz hissettim: geri 12 saat olacak ne sadece bir kısmı olan veritabanı oluşturmak için aldı:

# select pg_size_pretty(pg_database_size('dbname'));
47 GB

Bu veritabanı birkaç terabayt olacak tahminler var çünkü, şimdi performansını artırmak bakmak lazım.

Lütfen, aydınlat beni.

CEVAP
19 Ocak 2010, Salı


İlk disk Kur makul IO performansı aldığınızdan emin olun. Yükleme PostgreSQL sonra kontrol uygun şekilde ayarlanmıştır. Özellikle shared_buffers olmalı düzgün, maintenance_work_mem olmalı artmış sırasında geri yükleme full_page_writes olmalı kapalı sırasında geri yükleme wal_buffers olmalı artması için 16MB sırasında geri checkpoint_segments olmalı artan bir şey gibi 16 sırasında geri bunu yapmamalıydın herhangi mantıksız oturum (oturum her deyimi), auto_vacuum olmalıdır devre dışı sırasında geri yükleme.

Eğer geri yükleme ile paralel 8.4 ayrıca deney, ... ... işleri pg_restore için Seçenek.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KRQE

    KRQE

    6 AĞUSTOS 2007
  • Maschine Tutorials

    Maschine Tut

    15 ŞUBAT 2011
  • monkophile

    monkophile

    25 Temmuz 2007