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

  • Autocar

    Autocar

    11 Mart 2006
  • Breno Rises

    Breno Rises

    7 Ocak 2014
  • RealPapaPit

    RealPapaPit

    16 Mart 2009