Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Database Cleanup Script [OpenSim 0.9.x]
#13
Hallo zusammen.

Nach vielen Tagen der Stille möchte ich nun auch wieder etwas zu Wort geben. Das Cleanup-Script macht mächtige Fortschritte.

Aktueller Stand: Das Script funktioniert tadellos mit ein paar gewaltigen Haken:

- Das Script arbeitet ordnungsgemäß
- alle unbenötigten Assets werden aus der Datenbank gelöscht
- alle benötigten Assets bleiben vorhanden (das schließt referenzierte Assets aus Scripten, Texturen auf Prims, Kleidung usw bleiben vorhanden)
- Die Datenbank wird nach dem Vorgang optimiert um den frei gewordenen Speicherplatz auch wirklich wieder nutzen zu können

Die gewaltigen Haken sind nun folgende:

- Das Script verbraucht extrem viel Arbeitsspeicher, da das Script mit OARs und IARs arbeitet. Die Daten werden vollständig in den Arbeitsspeicher geladen und von dort aus verarbeitet -> sehr ineffizient, da in meinem Fall (Testmaschine mit 4 GB Arbeitsspeicher) das System nach 80 % der Arbeit anfing den Erweiterungsspeicher anzugraben (mit etwa 800 MB zusätzlich). Das machte die Arbeit natürlich entsprechend langsam. Die Verarbeitung der Daten hingegen ging sehr fix wenn auch die gesamte Verarbeitungszeit 1 Stunde und 30 Minuten dauerte bei 1,8 GB Datenmenge (entspricht etwa 28000 Assets).

Ergo: Der derzeitige Entwurf des Scripts ist nicht nutzbar auf einem aktiven Grid, welches GB-Weise Daten gespeichert hat.

Der zweite Entwurf ist derzeit in der Produktion und arbeitet ein wenig anders. Die Daten werden nicht bei jedem Assettyp neu entpackt sondern werden stückchenweise auf die Festplatte entpackt und dann gelesen:

- 1x entpacken -> 7 Arbeitsvorgänge (vorher: 7x entpacken -> 7 Arbeitsvorgänge)
- Nicht mehr Arbeitsspeicherintensiv, da nur die Asset IDs abgelegt werden und nicht die ganzen Archive
- Jedes entpackte Archiv wird direkt nach der Bearbeitung gelöscht (die Archive selbst bleiben erhalten)

Ein aktueller Test zeigte, dass die Verarbeitung des Scripts nun keine 1 Stunde 30 mehr benötigt, sondern nur noch 1 Minute bei 1,8 GB an Daten. Bei einer Datenansammlung von hochgerechnet 480 GB macht dies eine Bearbeitungszeit von etwa 5 Stunden (theoretisch). Allerdings haben die Hochrechnungen auch gezeigt: Bei einer Belegung von 28k Assets entsprach der freigewordene Speicher etwa 300 MB (nach der Bereinigung war die Tabelle nur noch 1,5 GB anstatt 1,8 groß). Wenn man theoretisch hochrechnet auf 480 GB macht dies eine Bereinigung von etwa 78 GB. Auf jeden Fall wäre das der Aufwand wert.

Ich werde weitere Messungen vorlegen, sobald das Script fertig ist.

Viele Grüße

Christian Nill
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren


Nachrichten in diesem Thema
RE: Database Cleanup Script [OpenSim 0.9.x] - von Data Rossini - 16.01.2019, 14:26
RE: Database Cleanup Script [OpenSim 0.9.x] - von bimbam2103 - 21.01.2019, 23:46
RE: Database Cleanup Script [OpenSim 0.9.x] - von Data Rossini - 23.01.2019, 22:47

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Automatische Einstellung einer IP beim Start von OpenSim royalgrid 6 308 26.03.2024, 14:31
Letzter Beitrag: Manfred Aabye
Brick Neues Grid aka Aufbau OpenSim mit Robust und Co... brenner23 31 43.447 16.08.2020, 19:53
Letzter Beitrag: Manfred Aabye
  Upgrade Erfahrungen OpenSim 0.9.1, Mono 5.x unter Linux: Data Rossini 12 15.395 12.02.2019, 13:16
Letzter Beitrag: Pius Noel
  OpenSim Compile brenner23 7 8.170 17.11.2018, 20:54
Letzter Beitrag: Pius Noel
  OpenSim installation Miss Undercover 9 8.500 10.02.2018, 12:03
Letzter Beitrag: Miss Undercover

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste