PostgreSQL / Windows Server \3GB \PAE \USERVA

hi,

ich habe einen Tip für optimierung von Postgres mit Windows Servern bekommen das man in der BOOT.INI den /3GB Schalter setzen soll … abhängig vom RAM

|Memory (GB) | Switches |
|-----------------------|
| <4GB       | none     |
|  4GB       | /3GB     |
| >4GB-16GB  | /3GB /PAE|
| >16GB      | /PAE     |

mit /USERVA soll man der Userspace erhöhen ( /USERVA=3030 -> 42MB )

was haltet ihr davon ?
p.s. es soll nur Postgres auf dem Server laufen

Abstand. Wenn eh nur PG drauf soll, würde ich Linux nehmen.


Andreas

der “alte” Windows Server war schon vorhanden aber wegen dem “neuen” nicht mehr verwendet.
Ich habe ihn nur “platt” gemacht und PostgreSQL installiert und den Zugriff (Firewall,Ports, pg_hba.conf) hergestellt.


ich versuche die Frage anders : wie viel RAM sollte der PostgreSQL Server haben ? ist das User (Anzahl/Traffic) abhängig ?
es ist mir schon klar : so viel RAM wie möglich …(32bit = 3GB)

das ganze soll im Test mit max. 10 Workstationen laufen, aber mit meinen PC + Notebook kann ich nicht “genügend” Last erzeugen …

paar “praktische” Hinweise und “Hausnummer” wie viel RAM ein 32bit PostgreSQL Server haben sollte würde mir schon helfen. sorry wenn die Frage vielleicht “komisch” klingt … hab mit SQL noch keine Erfahrungen. ( 25 Jahre DBF )

Nachtrag : habe gerade den Thread gelesen wo von dem 3GB:1GB angesprochen wurde … aber nicht weiter darauf eingegangen wurde.
http://www.pg-forum.de/konfiguration/3757-server-startet-nicht-bei-shared_buffer-900mb-windows-2003-server.html

Wictig sind die Einstellungen für shared_mem (Gesamtspeicher verfügbar für Postgres, hier hast du nicht mehr als 3GB, abzüglich dessen, was du dem BS und anderen Prozessen zugestehen magst) und work_mem. Wieviel work_mem du zuteilst, hängt auch davon ab, was die Datenbank tun soll und wie deine Daten aussehen. Geodaten brauchen da z.B. gern etwas mehr, ein kleines Blog kommt auch mit weniger klar. Dies wird zudem für jede Transaktion zugeteilt, sollte also so gewählt werden, das genug Transaktionen ins shared_mem passen. Mehr dazu findest du im Handbuch oder im ads seinem Buch.

Gruß Uwe

hi,
ok, danke für die Antwort, also werde ich es erst mal auf default lassen.

Frage : “wie” kann ich feststellen “wann” es notwendig wird an work_mem “zu drehen” ?

Es wird langsam. Oder du rechnest aus wieviel Platz du brauchst. Unter Linux kommt auch mal der oom-killer und schießt Postgres über den Haufen. Es gibt viele Möglichkeiten, das festzustellen :wink:

Gruß uwe