HOW TO: Boost Performance

    • Deradon
      Deradon
      Bronze
      Dabei seit: 03.09.2007 Beiträge: 1.653
      Einige Schritte die die Performance vom Elephant verbessernt können:

      *Defragmentieren der Platte (nach jedem großen Import [>20k Hands] auf jedenfall zu empfehlen)
      (Nach dem Import von 200k Händen steigt die Fragmentation meiner 80 GB Festplatte von 0.5% auf ~12%)
      *PGadmin runterladen und starten (http://www.pgadmin.org/)
      ->Tools->Server Configuration->postgresql.conf
      Shared Buffers suchen und hochstellen (~10-15% des Rams[bei mir hab ich 128MB eingestellt])


      Das hat bei mir einen deutlichen Performanceschub gegeben.

      +

      edit:
      Original von petebull1107
      Ich erhoehe als DB-Admin (unter Linux) zum Tuning immer folgende Variablen:

      shared_buffers
      effective_cache_size
      temp_buffers
      work_mem

      Danach ist dann der Dienst zu stoppen und zu starten, nur die "Reload Configuration" Verknuepfung anzuklicken reicht nicht, da die shared_buffers nur beim Starten erhoeht werden koennen.

      Als Empfehlung fuer die ersten beiden ist mit 128MB nicht viel verkehrt (ab 1G Ram), die anderen sind mit 16MB auch ganz gut besetzt.

      http://www.varlena.com/GeneralBits/Tidbits/perf.html

      http://www.varlena.com/GeneralBits/Tidbits/annotated_conf_e.html
      +
      *Edit by 6Wishmaster6*

      Im Elephant selber die Datenbank unter "Datenbankmanagent" => Punkt "Datenbank aufräumen" => "Vollständig empfohlen" einmal wöchentlich durchführen.
      +
      *Edit by cLue*
      Folgender Link ist sicher für Linuxuser interessant:
      http://www.desknow.com/kb/idx/12/061/article/
  • 98 Antworten
    • Pole2k
      Pole2k
      Black
      Dabei seit: 06.03.2008 Beiträge: 413
      Defrag hat bei mir das Problem mit den Abstürzen und Freezes gelöst. Allgemein läuft der Elephant schneller.
    • beisser1979
      beisser1979
      Bronze
      Dabei seit: 05.11.2006 Beiträge: 498
      bei mir auch danke dir,
    • Arngrim
      Arngrim
      Bronze
      Dabei seit: 03.02.2005 Beiträge: 846
      Wer es sich zutraut, kann mit dem Tool PgAdmin (Link siehe oben) auch noch weitere Aufräumarbeiten durchführen, die wir momentan noch nicht direkt vom Elephant aus anbieten (aber in absehbarer Zeit direkt integrieren werden):

      - wer aufgrund der notwendigen Datenbankupdates noch viele alte Datenbanken auf seinem System hat, kann diese über pgAdmin entfernen, indem in der linken Baumansicht zunächst der Server ausgewählt wird (Name bei Standardinstallation "PostgreSQL Database Server 8.3") und dann der Ordner "Datenbanken". Dort sind nun die einzelnen Datenbanken aufgelistet. Durch Rechtsklick auf eine Datenbank kann diese über den Menüpunkt "Löschen/Droppen" komplett gelöscht werden -> VORSICHT: alle Daten in dieser Datenbank gehen verloren!

      - in der gleichen Ansicht, im gleichen Kontextmenü für die Datenbanken gibt es den Menüpunkt "Wartung". Nach dem Anklicken dieses Punktes erscheint ein neuer Dialog, in dem als Wartungsfunktion "Vacuum" sowie als VACUUM-Optionen "FULL" und "ANALYZE" ausgewählt werden können. Damit wird die Datenbank intern aufgeräumt und sollte so gerade nach größeren Importen auch wieder leistungsfähiger sein.

      Beide Operationen sind nur durchzuführen, während der Elephant gerade nicht läuft.

      Und wie gesagt werden wir die Funktionalität in absehbarer Zeit auch direkt vom Elephant aus verfügbar machen.
    • Deradon
      Deradon
      Bronze
      Dabei seit: 03.09.2007 Beiträge: 1.653
      Dann gleich noch die Frage:
      Bringt reindexing was? (bei PGAdmin)
    • Kasimah
      Kasimah
      Bronze
      Dabei seit: 25.10.2006 Beiträge: 761
      Platte defragmentiert, Buffers auf 256MB.

      9 Tische auf Stars aufgemacht, 19 Hände gespielt und Elephant freeze.

      Dann Elephant beendet übern Taskmanager und neugestartet. Sofort neuer Freeze.

      Ideen ?

      Hab son Centrino Duo @ 2Ghz mit 2GB Ram. Daran sollte es nicht liegen die CPU Auslastung ist während des Freeze auch nie auf 100%.
    • Deradon
      Deradon
      Bronze
      Dabei seit: 03.09.2007 Beiträge: 1.653
      Original von Arngrim
      Wer es sich zutraut, kann mit dem Tool PgAdmin (Link siehe oben) auch noch weitere Aufräumarbeiten durchführen, die wir momentan noch nicht direkt vom Elephant aus anbieten (aber in absehbarer Zeit direkt integrieren werden):

      - wer aufgrund der notwendigen Datenbankupdates noch viele alte Datenbanken auf seinem System hat, kann diese über pgAdmin entfernen, indem in der linken Baumansicht zunächst der Server ausgewählt wird (Name bei Standardinstallation "PostgreSQL Database Server 8.3") und dann der Ordner "Datenbanken". Dort sind nun die einzelnen Datenbanken aufgelistet. Durch Rechtsklick auf eine Datenbank kann diese über den Menüpunkt "Löschen/Droppen" komplett gelöscht werden -> VORSICHT: alle Daten in dieser Datenbank gehen verloren!

      - in der gleichen Ansicht, im gleichen Kontextmenü für die Datenbanken gibt es den Menüpunkt "Wartung". Nach dem Anklicken dieses Punktes erscheint ein neuer Dialog, in dem als Wartungsfunktion "Vacuum" sowie als VACUUM-Optionen "FULL" und "ANALYZE" ausgewählt werden können. Damit wird die Datenbank intern aufgeräumt und sollte so gerade nach größeren Importen auch wieder leistungsfähiger sein.

      Beide Operationen sind nur durchzuführen, während der Elephant gerade nicht läuft.

      Und wie gesagt werden wir die Funktionalität in absehbarer Zeit auch direkt vom Elephant aus verfügbar machen.
      Wäre meine letzte Idee.
    • Kasimah
      Kasimah
      Bronze
      Dabei seit: 25.10.2006 Beiträge: 761
      ok werd ich ich nochmal probieren nach PC Neustart funzt jetzt grade alles. Habe auch nur ~40k Hände atm in der Datenbank. Wenn ich irgendwie helfen kann den Fehler zu beheben sagt mir wie =)
    • schnogly
      schnogly
      Bronze
      Dabei seit: 22.01.2008 Beiträge: 1.267
      hatte nach dem importieren von ca. 500k händen auch derbe freezes.

      disk defragmentiert, postgresql vacuum + reindex + Shared Buffers auf 256MB gesetzt

      nun läuft's wieder wie geschmiert :-)
    • DaStizza
      DaStizza
      Bronze
      Dabei seit: 09.05.2007 Beiträge: 1.108
      also, gleiches problem, jedoch neuer rechner, neue datenbank und erst 4k hände??? stars friert mit dem elephant ein, teilweise soll ich ne neue datenbank erstellen, teilweise einfach so
      elephant aus, stars läuft ohne probleme
    • Kasimah
      Kasimah
      Bronze
      Dabei seit: 25.10.2006 Beiträge: 761
      So hab nu auch nochmal das Vacuum gemacht. Trotzdem Freeze nach unter 100 Händen.


      Jetzt ist sogar nochn neues Problem dazugekommen. Nach dem Crash musste er dann ja noch aus 4 Dateien neue Hände importieren (n paar kb)

      Bei 3/4 hängt sich der Elephant auf. Hab mehrmals neugestartet immer das Gleiche.
    • schnogly
      schnogly
      Bronze
      Dabei seit: 22.01.2008 Beiträge: 1.267
      nach n paar tagen ohne große importe hatte ich wieder die gleichen probz :-(

      defrag, am besten jeden tag hilft :-)
    • petebull1107
      petebull1107
      Bronze
      Dabei seit: 07.05.2007 Beiträge: 1.120
      Ich erhoehe als DB-Admin (unter Linux) zum Tuning immer folgende Variablen:

      shared_buffers
      effective_cache_size
      temp_buffers
      work_mem

      Danach ist dann der Dienst zu stoppen und zu starten, nur die "Reload Configuration" Verknuepfung anzuklicken reicht nicht, da die shared_buffers nur beim Starten erhoeht werden koennen.

      Als Empfehlung fuer die ersten beiden ist mit 128MB nicht viel verkehrt (ab 1G Ram), die anderen sind mit 16MB auch ganz gut besetzt.

      http://www.varlena.com/GeneralBits/Tidbits/perf.html

      http://www.varlena.com/GeneralBits/Tidbits/annotated_conf_e.html
    • Kavalor
      Kavalor
      Gold
      Dabei seit: 07.09.2006 Beiträge: 17.648
      work mem ist bei mir gar nicht gesetzt und steht auf 1MB, soll ich es einschalten und ihm 16 MB geben? (hab 2GB)
    • Hyperex
      Hyperex
      Bronze
      Dabei seit: 03.07.2007 Beiträge: 1.235
      Ich kann in PGAdmin den Punkt Server Configuration garnicht anwählen :-/

      Hilfe?
    • DodgerNo1
      DodgerNo1
      Bronze
      Dabei seit: 09.09.2006 Beiträge: 378
      Du mußt erst auf PostgreSQL Database Server 8.3 doppelt klicken, dann Databases markieren und dann kannste es auch anwählen. ;)
    • Kavalor
      Kavalor
      Gold
      Dabei seit: 07.09.2006 Beiträge: 17.648
      Original von Kavalor
      work mem ist bei mir gar nicht gesetzt und steht auf 1MB, soll ich es einschalten und ihm 16 MB geben? (hab 2GB)
      woll ich "work mem" setzen?
    • petebull1107
      petebull1107
      Bronze
      Dabei seit: 07.05.2007 Beiträge: 1.120
      Original von Kavalor
      Original von Kavalor
      work mem ist bei mir gar nicht gesetzt und steht auf 1MB, soll ich es einschalten und ihm 16 MB geben? (hab 2GB)
      woll ich "work mem" setzen?
      Ich weiss nicht ob es so viele Queries im Elephant davon unbedingt profitieren wuerden, benutzt wird der Speicher bei Abfragen die Ergebnisse verschiedener Tabellen kombinieren oder viele Ergebnisse sortieren und filtern.

      Schaden sollte es nicht, der wird in dieser Hoehe nur benutzt wenn es notwendig ist. Wenn der Work_Mem zu knapp bemessen ist, wird Postgres eine temporaere Datei fuer die Inhalte anlegen. Das fuehrt dann zu einer laengeren Abfragezeit da der Plattenkopf mehr bewegt wird.
    • iobzbv
      iobzbv
      Bronze
      Dabei seit: 04.02.2006 Beiträge: 34
      Eigentlich sollte Defrag - wenn die Datenbank korrekt angelegt wird - garnichts bringen. Holt sich die Db nicht gleich 200 mb um am stück alles Speichern zu können?

      Also von der technischen seite her weiß ich nicht was mehr als ein defrag (bzw. bei ner normal benutzten festplatte) überhaupt ein defrag bringen soll - außer halt nen psychologischer effekt :-).

      falls die datenbank jedoch nur 1 mb groß ist und mit jeder hand um paar byte wächst - WTF. da müßt ihr das schnell mal anders regeln und die datenbank default größe auf ein paar hundert mb erhöhen.
    • schnogly
      schnogly
      Bronze
      Dabei seit: 22.01.2008 Beiträge: 1.267
      nix für ungut, aber meine db ist 6gb groß (o,5 mio hände drin :-) )

      und ich kann nur noch mal betonen, dass defrag immer das mittel war, was geholfen hat, wenn die db mal wieder a....langsam war.

      die einstellungen der buffer stellt man ja nur 1x auf vernünftige werte ein.