Schrift
[thread]12014[/thread]

Perl Prozess Optimierung



<< >> 2 Einträge, 1 Seite
tecker
 2008-06-15 00:13
#111040 #111040
User since
2008-02-26
77 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi,

ich habe ein relativ umfangreiches Perl-Skrikt geschrieben welches Auswertungen und Analysen anhand von täglich wachsenden Datenbankeinträgen macht (derzeit ca 400000 Einträge auf 50 Spalten). Diese Auswertung wird über eine Webbrowser GUI ausgeführt. Problem an der Sache ist, dass das ganze auf einem SNMP Management Server läuft welcher aller 5 Min einen gewaltigen Pollingprozess ausführt der über 1Min anhält. So wie sich diese Prozesse überlagern, was ja nun des öfteren passieren wird, geht mein Perl-Prozess etwas in die Knie und hat entsrechende Rechenzeiten. Hat jemand eine Idee was man da machen könnte? Der Server ist im übrigen eine Solaris Sun Fire V240 mit 2 CPU.

Idee wäre vielleicht dem SNMP Prozess welcher über eine Cronjob Shell gestartet wird eine Lock-Datei erzeugen zu lassen die beim Beenden des Prozesses gelöscht wird. Das Perlskript sollte dann vor der Ausführung überprüfen ob das Lock-File existiert, dann erstmal pausieren und den Benutzer irgendwie informieren...

Viele Grüße
moritz
 2008-06-15 11:31
#111041 #111041
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Also wenn du das Perl-Skript optimieren willst: erst mal profilen, damit du weisst, an welchen Stellen es sich lohnt anzusetzen.
Falls die Datenbank das Bottleneck ist: Indizes überprüfen, die Queries mal mit EXPLAIN anzeigen lassen etc.

Ansonsten hört sich das mit dem Lock-File auch ganz vernünftig an, du solltest nur sicherstellen, dass dein System nicht komplett zu funktionieren aufhört wenn die aus Versehen mal nicht gelöscht wird.
<< >> 2 Einträge, 1 Seite



View all threads created 2008-06-15 00:13.