Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Database Cleanup Script [OpenSim 0.9.x]
#11
So hab nun doch mal geschafft die Umfrage zu löschen ;D

Wie gesagt, ich kümmmere mich drum, muss nur dafür Zeit finden ;D
Signatur
Have a nice Day ;D

>> am 14.03.24 um 20 Uhr in Uwes Bar

Tschöö

Bogus | PinguinsReisen.de | M: @gse@norden.social
Zitieren
#12
(18.01.2019, 13:05)Bogus Curry schrieb: So hab nun doch mal geschafft die Umfrage zu löschen ;D

Wie gesagt, ich kümmmere mich drum, muss nur dafür Zeit finden ;D

Vielen Vielen Dank Bogus
Wann was schief läuft -> Ich war's nicht

VirtuLife - Start your virtual life NOW
Zitieren
#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
#14
Zwischenbericht über aktuelle Tests:

Das Bereinigungsscript funktioniert scheinbar einwandfrei. Bearbeitungszeit bei 1,8 GB Daten entsprach exakt 90 Sekunden. Der letzte Test wurde an dem Livesystem von VirtuLife durchgeführt mit einem beeindruckenden Ergebnis:

- Bearbeitungszeit inklusive Optimierung der Datenbank: 1 Minute 27 Sekunden
- Bereinigter Speicher: ca. 300 MB
- Alter Speicherverbrauch: 1,8 GB
- Neuer Speicherverbrauch: 1,5 GB
- Nach starten des Grids diverse Tests durchgeführt wie z.B: Texturen aufrufen, Objekte Rezzen, Scripte öffnen
- Alle Tests wurden einwandfrei bestanden

Weitere Tests des Scripts sind derzeit nicht geplant, da zuerst der tatsächliche Zustand des Grids geprüft werden muss.

Viele Grüße

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

VirtuLife - Start your virtual life NOW
Zitieren
#15
Hallo Chris ;D

Eigentlich ist das was du gemacht hast, genau das was ich schon seit Jahren hier geschrieben hab, das jemand sich mal die Mühe machen müsste, verschiedene Tests von OpenSim zu erstellen. Die meisten haben das überlesen bzw. wollten es sich halt nicht antun, was ich nachvollziehen kann ;D

Von mir daher ein grosses Danke schön ;D
Signatur
Have a nice Day ;D

>> am 14.03.24 um 20 Uhr in Uwes Bar

Tschöö

Bogus | PinguinsReisen.de | M: @gse@norden.social
Zitieren
#16
Mit einem Messpunkt kann man noch keine Aussage machen, ob das nun linear oder exponentiell skaliert. Für kleine Grids (und nur die können alle Regionen zentral in einer Datenbank halten) könnte das vielleicht klappen, auch wenn es nicht linear skaliert: 90 Sekunden bei knapp 2 GByte ist ja eine recht flotte Ausgangsbasis.

Auch wenn jetzt Christian nicht weiter testet, wird er sicherlich immer mal wieder die Laufzeit beobachten. Und wenn das Grid mehr Bewohner bekommt - über die Zeit die Asset-Datenbank wächst - gibt es auch automatisch weitere Messpunkte. Smile

EDIT: Was nervt Mareta dauernd mit "skalieren"? Nehmen wir ein Schachbrett. Da wollen wir auf das erste Feld 1 Reiskorn legen, auf's zweite Feld doppelt so viel, dann 4 Körner usw. Dann bräuchte man zum Befüllen des Schachbrettes mehrere hundert Milliarden Tonnen Reis. (Die weltweite jährliche Ernte liegt knapp unter 500 Millionen Tonnen.)
Zitieren
#17
Hallo,
deine Ergebnisse hören sich doch gut an !

Und wann ist das script bei GITHUB zu finden so das alle was davon haben ???
Oder ist es wenn es fertig ist später Kostenpflichtig ?

lg
Zitieren
#18
Hallo brenner.

Das Script ist und wird OpenSource. In Kürze folgt auch der entsprechende GitHUB-Link.

@Mareta: Ich verstehe dich voll und ganz. Die Messungen werden selbstverständlich immer wieder durchgeführt.

Zum Thema kleinere Grids und alles in einer DB gehostet. Ja genau darauf zielt das Script. Wie sich das Script mit einem Grid und dezentraler Regionenverwaltung macht kann ich noch nicht sagen. Ich habe allerdings festgestellt, dass Regionen, die sich außerhalb des normalen Asset-Servers befinden einen lokalen Datenbankzugang haben (z.B. über lokalen SQLite o.ä.). Die Assets sind jedoch in der Asset-Datenbank des ROBUST. In sofern haben meine ganzen Vorredner alle Recht gehabt. Die Verarbeitung eines solchen Scripts auf dezentraler Weise wird nicht möglich sein, außer wenn alle Regionenbetreiber die OAR zur Verfügung stellen, was seltenst der Fall ist.

Allerdings ist mir nicht ganz klar, warum nur kleinere Grids die Zentralisierte Lösung nutzen können. Das letzte Grid was ich hatte (ist schon was her) beherbergte über 6000 Avatare mit dauerhaft zwischen 600 - 700 Online. Regionen waren um die 600. Performancetechnisch gab es keine Probleme. Das System war ebenfalls ausschließlich zentralisiert mit einem Datenbankserver. Allerdings wurde die Datenbank nach einer gewissen Zeit auf Cluster ausgeweitet. Das heißt drei Server haben sich die Last der Datenbank geteilt. Die Datenbank war zwar zum Schluss etwa um die 7 Terrabyte groß aber da waren rund 4 TB an unnützen Assets drin. Damals hatte ich das Bereinigungssystem noch nicht hehe. Jedenfalls hatte ich zu der Zeit für jeden Dienst einen eigenen Server:

- Asset
- Inventory
- Login

Alles andere wurde von einem Server verarbeitet. Selbstverständlich hatte ich alleine nur für die Daten und den Traffic rund 7 Server laufen (3x Datenbank, 1x Asset, 1x Inventory, 1x Login, 1x ROBUST). Aber bei rund 600 Regionen gab es genug Umsatz damit das passte.

Bevor jetzt einer fragt: Was ist denn passiert? Warum hast du das Grid nicht mehr? - Die Antwort ist sehr einfach: Die Sicherung des Grids war, wie man sich vorstellen kann recht schwierig. Es wurde wöchentlich ein Backup gemacht mit maximal 7 Backups. Das war eine enorme Datenmenge. Leider hat mein damaliger Serverhoster beschlossen die Server zu "instabilisieren". Es gab zum Schluss keinen Server mehr der stabil lief. Selbst der Webserver, der nichts zu tun hatte außer eine Webseite zu betreiben. Das ganze ist so schnell in die Hose gegangen, dass ich nicht rechtzeitig reagieren konnte. Nunja die Server wurden vom Hoster abgeschaltet, da ich mich mehrfach beschwert hatte und bum waren alle meine Daten weg. Die Backups lagen ebenfalls auf einem Server des hosters. Seit dem arbeite ich NUR noch mit eigenen Servern in einem Rack im Rechenzentrum oder gemieteten Servern aber in meinem eigenen Rack.

Ich arbeite derzeit noch an einer Lösung für dezentrale Grids. Ich schaue mir die Datenbankeinträge an und was eine Dezentrale Region überhaupt in die Datenbank einträgt wenn sie sich mit dem Robust verbindet. Theoretisch müsste es irgendwo einen Anhaltspunkt geben. Genaues kann ich jedoch im Moment zum dezentralen Grid noch nicht sagen.

Was ich jedoch berichten kann ist folgendes:

Die letzte Laufzeit des Scripts ist nun beinahe 24 Stunden her und es sind keine Probleme wie z.B. fehlende Assets aufgetreten. Ich habe alles aus meinem Inventar (12.000 Assets ca.) gerezzt und geschaut ob alles ok ist. Ohne Schwierigkeiten.

Jetzt muss ich natürlich den Bereinigungsvorgang nochmals laufen lassen um die ganzen gerezzten Assets, die danach wieder gelöscht wurden wieder weg zu bekommen hehe.

Tatsache ist: Das Script funktioniert einwandfrei. Meine Datenbank ist nun auf 2,8 GB angewachsen. Das entspricht 1 GB mehr als vor der ersten Bereinigung. Wenn ich die Bereinigung nun nochmal durchführe werden wir sehen ob es einen großen Zuwachs der Bearbeitungszeit gibt.

Viele Grüße

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

VirtuLife - Start your virtual life NOW
Zitieren
#19
Ich finde das Thema extrem spannend. Ich spiele schon seit längerem mit dem Gedanken von "Mini Grids". Darunter verstehe ich kleinere Grids von Gemeinschaften, die sich selber organisieren, aber übergeordnet einem Verbund anschliessen, so dass die grössere Zusammengehörigkeit trotzdem nicht verloren geht. Darüber steht dann das Hypergrid (damit meine ich jetzt nicht Metropolis *lol*).

Unter solchen Bedingungen entfällt das Problem der Skalierbarkeit. Jeder ist für seinen Müll selber zuständig. Macht einer keine Backups, dann sind ein paar wenige davon betroffen, falls mal was schief geht. Wer auf der sicheren Seite sein will, macht es nicht selber, sondern mietet sein Grid bei einem verlässlichen Hoster.

Es ist mir schon klar, dass sich die totale Menge der Daten dadurch nicht verkleinert, sondern vervielfacht. Aber eben verteilt und für diejenigen die es betrifft, den Umfang in überschaubarem Ramen hält.

Das es unter solchen Konzepten auch andere Probleme gibt, ist mir ebenfalls klar. Aber ich denke das wäre ein Thema, über das man mal ernsthaft nachdenken müsste. Ob sich so etwas letztendlich auf der Basis von Opensimulator überhaupt realisieren lässt, wäre zu klären. Ich denke, dass es gut möglich ist, auf dieser Basis zumindest versuchsweise etwas aufzubauen.
Zitieren
#20
(23.01.2019, 15:05)Pius Noel schrieb: Ich finde das Thema extrem spannend. Ich spiele schon seit längerem mit dem Gedanken von "Mini Grids". Darunter verstehe ich kleinere Grids von Gemeinschaften, die sich selber organisieren, aber übergeordnet einem Verbund anschliessen, so dass die grössere Zusammengehörigkeit trotzdem nicht verloren geht. Darüber steht dann das Hypergrid (damit meine ich jetzt nicht Metropolis *lol*).

Unter solchen Bedingungen entfällt das Problem der Skalierbarkeit. Jeder ist für seinen Müll selber zuständig. Macht einer keine Backups, dann sind ein paar wenige davon betroffen, falls mal was schief geht. Wer auf der sicheren Seite sein will, macht es nicht selber, sondern mietet sein Grid bei einem verlässlichen Hoster.

Es ist mir schon klar, dass sich die totale Menge der Daten dadurch nicht verkleinert, sondern vervielfacht. Aber eben verteilt und für diejenigen die es betrifft, den Umfang in überschaubarem Ramen hält.

Das es unter solchen Konzepten auch andere Probleme gibt, ist mir ebenfalls klar. Aber ich denke das wäre ein Thema, über das man mal ernsthaft nachdenken müsste. Ob sich so etwas letztendlich auf der Basis von Opensimulator überhaupt realisieren lässt, wäre zu klären. Ich denke, dass es gut möglich ist, auf dieser Basis zumindest versuchsweise etwas aufzubauen.

Ich fange am , meinen Gedanken mal frei zu äussern! :-)

Also gugst du hier..... https://www.hypergridbusiness.com/statis...ive-grids/

Ich hab mir mal den Spass erlaubt mir mal einen Teleporter zu bauen mit hilfe auch von meinem Server als Speicher,( Mysql, php) Ich bin mal au über 200 URLS gekomme die ich mal so eingetippt habe und die scheint auch nicht so aktuell zu sein... viele sind weg und viele sind neu die da nicht aufgelistet sind, weil halt die Liste nicht gerade aktuell ist, aber 60 - 90% des Datensatzes ist irgentwie noch Aktiv....

Teleporttiert man sich in diese Grids findet man überwiegens vlt, schöne landschaften, ,Malls etc alles überwiegend Kostenlos für Besucher auser ein paar Ausreisser die gleich mit dem Hinweis kommen MoneyModul Drittanbieter Globoli oder was auch immer ... aber egal... Das andere ist wenn man sich dan in die suche begibt und %%% in die suche eingibt LeuteSuche oder wie der Reiter da heist....
Sieht man eine hand voll Mitgileder... wenn man dan schaut in die Gruppen sofern es moglich ist, sieht man auch wann die letzten Logins waren.... Als Resume sehe ich überwiegens leere Grids, auch die günen Punkte auf der Karten täuschen manchmal hinweg, es sind dann vlt NPCs die im Shop Stehen...

Rethorisch gefragt:
Nehmt euch jede URL vor Teleportiert euch dahin ... dann alles in eine Tabelle, Thema,Aktive nutzer,Bekanntheitsgrad, Shops, Viele Freebies ... etc.... und dann mach mal eine Große Liste...
Wer hat die Zeit mal so 200+ Grids durczugehen und diese dann Zentral für alle HG user aufzubereiten...

Ich kenn auch nicht alle Ecken von SL ...

Aber übergeornete Minigrids, wenn alle mit machen sind shon auf einer art wund weise was tolles ... muss aber für den Normalo aufbereitet werden, wie z.B. eine Sim als OAR mit allen HGTeleports und dass müssten dann überall gleich sein in jedem grid die mitmachen (würden)

lg
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Brick Neues Grid aka Aufbau OpenSim mit Robust und Co... brenner23 31 42.798 16.08.2020, 19:53
Letzter Beitrag: Manfred Aabye
  Upgrade Erfahrungen OpenSim 0.9.1, Mono 5.x unter Linux: Data Rossini 12 15.185 12.02.2019, 13:16
Letzter Beitrag: Pius Noel
  OpenSim Compile brenner23 7 7.984 17.11.2018, 20:54
Letzter Beitrag: Pius Noel
  OpenSim installation Miss Undercover 9 8.394 10.02.2018, 12:03
Letzter Beitrag: Miss Undercover
  Opensim bei einem externen Hoster Munala Kaliopov 73 69.008 02.12.2017, 12:55
Letzter Beitrag: Leora Jacobus

Gehe zu:


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