Zum Forum springen
HOW TO: Boost Perfo...
 
Benachrichtigungen
Alles löschen

[Geschlossen] HOW TO: Boost Performance

99 Beiträge
41 Benutzer
0 Reactions
13.9 K Ansichten
Deradon
Beigetreten: 03.09.2007

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
Beigetreten: 06.03.2008

Defrag hat bei mir das Problem mit den Abstürzen und Freezes gelöst. Allgemein läuft der Elephant schneller.


bei mir auch danke dir,


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 Themenstarter
Deradon
Beigetreten: 03.09.2007

Dann gleich noch die Frage:
Bringt reindexing was? (bei PGAdmin)


Kasimah
Beigetreten: 25.10.2006

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 Themenstarter
Deradon
Beigetreten: 03.09.2007

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
Beigetreten: 25.10.2006

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
Beigetreten: 22.01.2008

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
Beigetreten: 10.05.2007

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
Beigetreten: 25.10.2006

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
Beigetreten: 22.01.2008

nach n paar tagen ohne große importe hatte ich wieder die gleichen probz :-(

defrag, am besten jeden tag hilft :-)


petebull1107
Beigetreten: 07.05.2007

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
Beigetreten: 07.09.2006

work mem ist bei mir gar nicht gesetzt und steht auf 1MB, soll ich es einschalten und ihm 16 MB geben? (hab 2GB)


Hyperex
Beigetreten: 03.07.2007

Ich kann in PGAdmin den Punkt Server Configuration garnicht anwählen :-/

Hilfe?


Du mußt erst auf PostgreSQL Database Server 8.3 doppelt klicken, dann Databases markieren und dann kannste es auch anwählen. ;)


Kavalor
Beigetreten: 07.09.2006

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
Beigetreten: 07.05.2007

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
Beigetreten: 05.02.2006

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
Beigetreten: 22.01.2008

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.


Teilen: