90% der Objekte nach restart weg

Lislo
Lislo
 Member edited September 12 in Technical Support
Wir betreiben eine self hosted Sim (Old Munich). Ich habe sie frisch von einem OAR hochgezogen: alles läuft, alle sind glücklich. Aber wenn ich den Server herunterfahre und neu starte sind ca. 90% der Objekte weg.

Hier etwas HIntergrund:
Server: Hetzner CX11, 2GB Ram,
OS: Debian Linux 9, 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2
Software: Mono 4.6 bzw. mono 6 (kein Effekt auf mein Problem), metropolis-os_091_DEV_PLUS.zip

Vom Backup kommen ca. 23.000 scene objects (=ca. 50.000 Prims, macht das Sinn?) und die Stadt ist vollständig. Nach dem Restart des Servers (ob jetzt auf die harte Tour mit reboot auf OS-Ebene oder graceful mit shutdown auf opensim-server console) sind nur noch ca. 1600 Objekte ("loaded from the datastore") da. Die Stadt sieht aus wie ein Dali-Gemälde - nicht uncool, aber nicht so wie es sein sollte.

Was läuft hier schief?

Region (Old Munich) # show region
Region information for Old Munich
Region ID                  : ***
Region handle              : ***
Region location            : 9500,9500
Region size                : 1280x1280
Maturity                   : 0
Region address             : http://***/
From region file           : ./Regions/Regions.ini
External endpoint          : ***
Internal endpoint          : 0.0.0.0:9050
Access level               : 13
Agent limit                : 40
Max agent limit            : 100
Linkset capacity           : not set
Prim capacity              : 90000
Prim bonus                 : 1
Max prims per user         : n/a
Clamp prim size            : False
Non physical prim min size : not set
Non physical prim max size : not set
Physical prim min size     : not set
Physical prim max size     : not set
Allow Damage               : False
Allow Land join/divide     : True
Allow land resell          : True
Block fly                  : False
Block show in search       : False
Block terraform            : False
Covenant UUID              : 00000000-0000-0000-0000-000000000000
Convenant change Unix time : 0
Disable collisions         : False
Disable physics            : False
Disable scripts            : False
Restrict pushing           : False
Fixed sun                  : False
Sun position               : 0
Sun vector                 : <-0.8282014, -0.4871181, -0.2771254>
Use estate sun             : True
Telehub UUID               : 00000000-0000-0000-0000-000000000000
Terrain lower limit        : -100 m
Terrain raise limit        : 100 m
Water height               : 20 m
Maptile static file        :
Maptile static UUID        : 00000000-0000-0000-0000-000000000000
Last map refresh           : 0
Last map UUID              : 00000000-0000-0000-0000-000000000000
 

Region (Old Munich) # stats show
CONNECTION STATISTICS
Client logouts due to no data receive timeout: 0

SAMPLE FRAME STATISTICS
Dilatn  SimFPS  PhyFPS  AgntUp  RootAg  ChldAg  Prims   AtvPrm  AtvScr  ScrLPS
  1.00      55    55.0     0.0       0       0   49194       0      66       0

PktsIn  PktOut  PendDl  PendUl  UnackB  TotlFt  NetFt   PhysFt  OthrFt  AgntFt  ImgsFt
    20     295       0       0       0    18.2     0.0     3.8     0.0     0.0     0.0

MEMORY STATISTICS
Heap allocated to OpenSim   : 400 MB
Heap allocation rate (last/avg): 0/-0.404MB/s
Process memory:      Physical 818 MB     Paged 0 MB      Virtual 1550 MB
Peak process memory: Physical 1333 MB    Paged 0 MB      Virtual 2067 MB

Comments

  • Pius Noel
    Pius Noel
     Member
    Hallo Lislo,

    Wenn du an der Konsole keine Fehlermeldungen bekommst, dann fällt mir jetzt gerade auch nichts ein. Gemäss deiner stats show müssten eigentlich rund 49'194 Prims vorhanden sein. 

    Um mir einen Eindruck zu verschaffen versuchte ich auf die Region zu TP'en das funktionierte aber auch nicht. Mein erster Gedanke war, dass du vielleicht nur die Cache löschen musst.

    Was benutzt du für die Datenbank? MySQL oder SQLite?

    Es hängt natürlich immer von mehreren Faktoren ab, aber für 50'000 Prims finde ich einen CX11 schon eher knapp bemessen. So wie es aussieht braucht er im Moment den Speicher aber auch noch nicht. Vielleicht aber auch nur weil die Texturen gar nicht geladen werden und dann stellt sich wieder die Frage wo sie geblieben sind.

    Aber wie bereits angedeutet, ich kann mir auch keinen schlüssigen Reim auf die Sache machen.
    Ich würde die OAR wahrscheinlich mal auf einer Standalone einlesen und dann gucken wie es dort aussieht.

    Was mir heute noch aufgefallen ist, dass ich neulich an der Konsole von zwei Regionen ein paar Timeouts vom Asset Server hatte. Ich glaube gestern um 17 Uhr war so eine Situation. Ich denke aber nicht, dass das in einem Zusammenhang steht.

    LG Pius
  • Data Rossini
    Data Rossini
     Member
    Hallo Lislo,
    vielleicht hilft der OpenSim Konsolenbefehl "backup" weiter.
    Er sollte die (vielleicht nur) im Cache befindlichen Objekte in  die Datenbank speichern.
    Dann vielleicht schauen, ob irgendwelche Fehlermeldungen kommen.
    LG
    Data
  • Pius Noel
    Pius Noel
     Member edited September 13
    Das mit dem backup Befehl an der Konsole hatte ich jetzt total vergessen. Mir war auch nicht bewusst, dass die Daten nicht schon unmittelbar während dem Einlesen des OAR's in die Datenbank zurückgeschrieben werden. Das gilt übrigens auch, wenn Veränderungen gemacht wurden und die Region unmittelbar danach neu gestartet oder abgeschaltet wird, ohne dass vorher noch der backup Befehl durchgeführt wurde.

    Trotzdem halte ich den CX11 für Opensimulator nicht für geeignet. Er hat nur einen CPU Kern und nur 2 GB RAM. Zwar basieren die VM's bei Hetzner in der Cloud auf leistungsfähigen und nicht überbuchten Systemen, aber nach meinen Erfahrungen verhalten sich Simulatoren auf VM's mit nur einem CPU Kern nicht gut. 

    Die offizielle Empfehlung im Opensimulator Wiki ist 1 GB RAM und 1 CPU Kern pro allgemein rege benutzter Region, bei einem Minimum von 2 Kernen. Die Zahlen stammen noch aus der Zeit von OpenSim 0.7 und ich halte sie für eher konservativ. Meistens dümpeln die CPU's eher ungenutzt vor sich hin.

    Wäre es eine Region mit ein paar hundert Prims, die ich nur für mich zum Basteln erstelle, dann wäre das auch noch o.k. Aber mit 50'000 Prims und mehreren Benutzern sehe ich schwarz. Die Region Tancorien hat beispielsweise knapp 30'000 Prims und um die 1450 Scripte. Ihr OAR ist 1.1 GB gross. Sie belegt damit etwas mehr als 1.8 GB RAM. Sie würde auf einem CX11 definitiv nicht mehr richtig laufen.

    Falls backup allein nichts hilft, dann würde ich mal auf einen CX21 hochstufen. Du kannst das in der Hetzner Cloud Console machen in dem du den Server auswählst und dann links RESCALE auswählst. Wenn du nur CPU und RAM auswählst, dann kannst du später auch wieder auf einen CX11 runterstufen. Der Server muss für diesen Vorgang abgeschaltet werden.

    Anschliessend würde ich wie folgt vorgehen:
    1) Die Datenbank löschen und ggf. neu erstellen.
    2) Im OpenSim bin-Verzeichnis folgende Verzeichnisse löschen:
        - assetcache
        - j2kDecodeCache 
        - ScriptEngines 
    3) OpenSim exe neu starten
        ... beim Hochfahren muss das Estate neu erstellt eingerichtet werden
        ... da die Region noch in der Regions/Regions.ini steht wird sie wieder gestartet.

    Als nächstes die OAR Datei wieder einlesen und warten bis alles abgeschlossen ist. 

    Zuletzt an der Konsole backup eingeben und warten bis der Prompt wieder erscheint.

    Letzteres kann übrigens sehr lange dauern. Ich habe auf meinem Server einen Versuch mit einer Region mit rund 19'100 Prims und 821 Scripten gemacht. Das OAR hat eine Grösse von 315 MB. Die Region habe ich an mein Test-Grid angeschlossen.

    Zuerst versuchte ich es mit SQLite. backup war nach mehr als einer halben Stunde immer noch nicht fertig und ich habe den Versuch abgebrochen. Dann habe ich auf MySQL (MariaDB) umgestellt. backup dauerte jetzt nicht ganz 5 Minuten. 

    Pius :)
Sign In or Register to comment.

Welcome

It looks like you're new here. If you want to get involved, click one of these buttons!

Discussions

© Copyright 2019 - Metropolis Metaversum
All times are GMT