SqlObject und PickleCol
Verfasst: Mittwoch 23. Januar 2008, 00:52
Hallo zusammen,
ich habe ein gewaltiges Perfomanz Problem mit SqlObject und Mysql.
Ich speichere in einer Tabelle von meinen Xen Domains den Traffic, Cputime und die Festplattenauslastung. Diese Stati lese ich aus 'xm list'
Die Tabelle hab ich in SqlObject folgendermaßen definiert
In diese Tabelle werden nun die oben genannten Stati alle 5min reingeschrieben. Daher ist diese Tabelle schon nach einem Tag ziemlich gewaltig. Da die Werte nur zu Statistik verwendet werden, lösche ich immer alte Werte:
Was jedoch passiert, wenn diese Schleife aufgerufen wird ist, dass die cpulast sofort auf 100% springt und sich der Speicher langsam aber sicher vollfrist bis teilweise mein Rechner einfriert, wenn die Logik nicht zuvor zu ende geht.
Kann mir jemand einen Tipp geben, wie ich damit umgehen sollte um den Zugriff schneller zu gestalten.
Für eure Hilfe danke ich jetzt schomal
ich habe ein gewaltiges Perfomanz Problem mit SqlObject und Mysql.
Ich speichere in einer Tabelle von meinen Xen Domains den Traffic, Cputime und die Festplattenauslastung. Diese Stati lese ich aus 'xm list'
Die Tabelle hab ich in SqlObject folgendermaßen definiert
Code: Alles auswählen
class HostState(SQLObject):
class sqlmeta:
cacheValues = False
user = ForeignKey("User")
host = ForeignKey("Host")
cputime = PickleCol()
diskread = PickleCol()
diskwrite = PickleCol()
time = DateTimeCol()
Code: Alles auswählen
DELETE_INTERVAL = timedelta(days=7)
for item in Traffic.select(Traffic.q.time < datetime.now()-DELETE_INTERVAL):
Traffic.delete(item.id)
Kann mir jemand einen Tipp geben, wie ich damit umgehen sollte um den Zugriff schneller zu gestalten.
Für eure Hilfe danke ich jetzt schomal