Dump (custom) beschleunigen?

Hi, hätte noch eine kleine Frage bezüglich pSQL Dump, kann man das irgendwie beschleunigen, dass auch die komplette CPU ausgelastet wird. Mein Quadcore langweilt sich hier ein wenig und ich möchte den Dump so schnell wie möglich durchführen.

Gruß

Sicherlich möglich, aber verrat uns doch bitte vorher, ob du auch noch I/O-Ressourcen übrig hast oder ob die schon voll ausgelastet sind :wink:


Wenn du einen Masseninsert machen möchtest, gibt es diverse Möglichkeiten, das zu beschleunigen. Ein Beispiel wäre, fsync auszuschalten, das macht es schneller, aber macht man nicht in einer Produktionsdatenbank, die nebenbei schon läuft.

  1. Ein pg_dump bzw. pg_dumpall ist aus Sicht der DB ein normaler Client. Und so wie auch jeder andere Client einen eigenen postmaster-Prozeß startet, passiert das auch hier. Ein Prozeß, eine CPU.

  2. So ein Dump ist nicht CPU-intensiv, wohl aber IO-lastig, und zwar massiv. Hier würden also eher schnelle Platten was helfen und nicht wirklich Anzahl der CPU.

  3. Wohin sicherst Du? Selbe Platte, auf der auch die DB ist? Streamer? Via Netz?


    Wenn Du wirklich die CPU’s ausreizen willst UND mehrere DB’s hast, könntest Du gleichzeitig mehrfach pg_dump aufrufen, je einmal für jede DB.


    Andreas

Ich kann theoretisch das gesamte System vom netz nehmen und die die Zugriffe auf einen parallel Server umlenken, damit wäre der Server, auf dem die Datenbank läuft komplett frei. Wieviel bringt denn ein fsync?

PS: Würde denn ein Dump ohne Probleme funktionieren, wenn die Datenbank gerade komplett im Einsatz ist?


I/O Ressourcen sind max. zu 10% belastet. Prozessoren max. zu 20%

Okay, wenn die Datenbank ein paar Minuten ruht, dann scheint er wohl relativ viele ressourcen dem Dump Prozess zur Verfügung zu stellen (50-60% prozessor auslastung).