Projekt

Allgemein

Profil

Aktionen

710 Datenbankeinstellungen und Tuning (postgresql conf) » Historie » Revision 19

« Zurück | Revision 19/85 (diff) | Weiter »
[S] Dominik G, 17.09.2015 13:06


Datenbankeinstellungen und Tuning

postgresql.conf

Linux

Betriebssystem - Speichereinstellungen mind. 3GiB Arbeitsspeicher!

  • standard:
    sysctl kernel.shmmax
    kernel.shmmax = 33554432
  • umsetzen auf 280437720 (256MB, Mindestens, LOLL steht auf 1024MB (8GB Ram)) (On Windows the useful range is 64MB to 512MB)
    /etc/sysctl.conf -> zeile aufnehmen: kernel.shmmax=280437720
    reboot

Nur auf Systemen mit 3GiB+ RAM anzuwenden

$ free -m

             total       used       free     shared    buffers     cached
Mem:          3018       1516       1501          0        208       1113
-/+ buffers/cache:        194       2823
Swap:         1023          0       1023

Weiteres

Unter Linux ist noch die shmmax-Option aus der 99-postgresql.conf via sysctl zu setzen, sonst klappert das da.
http://www.postgresql.org/docs/8.2/static/kernel-resources.html

Konfiguration PostgreSQL (Beachte Betriebssystem)

shared_buffers = 1024MB
temp_buffers = 8MB
work_mem = 16MB (nicht zu hoch, da je sort bzw. hash Operation, auch mehrfach bei komplexen queries)
maintenance_work_mem = 512MB (für VACUUM, CREATE INDEX, and ALTER TABLE ADD FOREIGN KEY, außerdem für restore dumps)

fsync = off
synchronous_commit = off
wal_buffers = 8MB (-1 ab 9.3 "-1 sets based on shared_buffers")
checkpoint_segments = 64

effective_cache_size = 2048MB (Beachte 1/2 Arbeitsspeicher)

default_statistics_target = 1000

cursor_tuple_fraction = 0.75

log_destination = 'eventlog' (unter Windows)

search_path = '"$user",public,TSystem'

datestyle = 'iso, dmy'

standard_conforming_strings = off (siehe #4860)

Bis Prodat 11.5.3 statement_timeout=120000

Könnte durchaus noch weiter getrieben werden, indem man Sie auf die Prodat-DB abstimmt:

Hinweis: Fehler im PgAdmin/Server-Status: ungültige Byte-Sequenz für Kodierung "UTF8" ... durch SELECT pg_file_read('pg_log/... kann ignoriert werden, da wir ja ins eventlog schreiben.
Die Anzeige vom Log hier einfach schließen. Liegt an LC_MESSAGES und mehrsprachigen Systemen, vermutlich ein Bug, Workaround LC_MESSAGES='C' (evtl. nicht mit Prodat kompatibel)

Virtualisierung

Database_Virtualization_PG_China.pdf

Von [S] Dominik G vor etwa 9 Jahren aktualisiert · 19 Revisionen