Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[WIP] Wie kann man einen Stresstest simulieren ?
#1
Hallo zusammen ;D

Mir schwirren grade so Gedanken durch den Kopf, mit der Frage wie kann man einen Stresstest simulieren ? Also einen Testaufbau, das auch jeder der ein Grid oder irgendwie was grösseres vorhat den Server vorher testen kann. Was ich mir vorstelle ist ein Art Schubladensystem, also man hat verschiedene Teile, sagen wir ein Grid in der Grundausrüstung mit oder ohne HG. Vielleicht könnte man dieses mit Docker dieses Schubladensystem aufbauen. Docker ist ein Art Virtuelle Umgebung, wo man Sachen reinpacken kann. Das kann von Datenbanken sein oder halt einfach Javaumgebung etc. pp. Die DockerImages kann man dann so zusammenstecken, also der Server selber wird dabei nicht berührt. So das die DockerImages für sich Arbeiten.

Das ganze klingt vielleicht ein wenig konfuss, aber vielleicht kennt sich der eine oder damit aus oder hat vielleicht auch mit diesen Gedanken gespielt ;D
Tschöö

Bogus | PinguinsReisen.de
Zitieren
#2
Für einen Stresstest brauchst du viele Instanzen, die das Testobjekt belasten aber selber möglichst wenig Last erzeugen. Für jede Instanz eine eigene VM aufzusetzen (also z.B. Docker, VMware, QEMU, ...) belastet das Testsystem unnötig.

Beispiele...

Avatarlast:
Viele Accounts (fürs derzeitige OpenSim ansteigend bis ca. 100) mit Textviewer starten und ein wenig rumlaufen lassen. Textviewer belasten das System kaum. Wie sich das inworld anfühlt, kann die Testerin oder der Tester dann mit einem grafischen Viewer beobachten.

Regionen:
Viele OpenSim Instanzen mit z.B. je 16 Regionen. Jede OpenSim Instanz braucht nur ein eigenes Verzeichnis. Die Konfigurationsdateien könnte man automatisiert erstellen, dass es keine Port- und Koordinatenkonflikte gibt. Auf schöne Namen und Landschaften kommt es ja beim Test nicht an.

Inworld:
Nacheinander OARs laden mit jeweils doppelt so vielen Prims, Meshes, Texturen. Problematisch sind die Texturen, die ja unterschiedlich und in Sichtweite sein müssen um zusätzliche Last zu erzeugen. Prims und Meshes kann man mit einem Script beliebig vervielfachen, also ein Objekt aus z.B. 10.000 Prims ins Objektinventar nehmen und per Script in einer Schleife im Minutentakt rezzen. Dabei die Z-Koordinate jedesmal ein paar Meter höher legen und die Primzahl in den Chat rufen. Auch das kann dann mit einem Avatar inworld beobachtet werden bis zum Crash.

EDIT: Abschließend ist natürlich auch wichtig zu überlegen, was die Zielsetzung für den Test ist. Also die Frage, ob OpenSim das Testobjekt ist oder der Rechner, wo es drauf läuft. Soll die Performance von OpenSim getestet werden, muss der Testrechner sehr leistungsstark sein, damit wirklich die Software und nicht die Hardware den begrenzenden Faktor darstellt. Will man hingegen den billigen VServer aus der Sonderaktion testen, ob er für die eigenen Bedürfnisse gerade noch reicht, wird das Setup anders aussehen (eben eine Simulation der eigenen Bedürfnisse, dann vielleicht das Doppelte davon um zu sehen vieviel "Luft" noch ist.)
Hyperweb.eu => Server-Tutorial für Linux mit OpenSim, OpenSim Arriba compiliert und für Metropolis konfiguriert!
Zitieren
#3
Bin mir gar nicht so sicher, ob so ein Docker Container wirklich das System selber so belasten würde. Da ja die Sachen in so ein Container selbst stecken würden. Dazu kommt noch, das Docker sehr beliebt worden ist, weil es halt eine Möglichkeit ist eine Software in eine Art Schublade zu stecken.

Man kann natürlich verschiedene Sachen durchtesten und halt das beste herrausnehmen.

Deine Beispiele gehen in eine ganz andere Richtung. Was ich gerne machen möchte ist eine Stresstestsituation, der jedermann durchführen kann bzw. so durchführen kann, das vorher angibt, was er gerne getestet haben möchte. Seis nun eine grosse Region, die auf einen bestimmten (Home-) Server läuft oder sowas in der Art.

Was du beschreibst, ist schon ziemlich spiziell.
Tschöö

Bogus | PinguinsReisen.de
Zitieren
#4
Also wenn du unbedingt mit Docker rumspielen willst, könntest du zum Beispiel verschiedene OpenSim Varianten (Forks, Versionsstände, Konfigurationsvarianten je nach Interesse) in einen ansonsten immer gleichen Docker-Container packen. Dann wäre das ein Testsystem, wo sich nur das Testobjekt unterscheidet. Dank Docker könntest du schnell hin- und herswitchen zum Messen und Vergleichen.

Generell gilt beim Testen, dass außer der gerade untersuchten Eigenschaft alles andere möglichst gleich bleiben und möglichst wenig Störungen verursachen soll. Bevor du eine Testumgebung aufbaust, musst du dir also klar werden, was du testen willst. Auch da könnte eine VM wieder interessant werden, um nämlich verschiedene Testszenarien reproduzierbar zu konservieren und später mit geändertem Testobjekt zu wiederholen. Stichwort Regressionstest.
Hyperweb.eu => Server-Tutorial für Linux mit OpenSim, OpenSim Arriba compiliert und für Metropolis konfiguriert!
Zitieren
#5
Bogus wird es wissen, aber für andere Mitleser...

Docker ist keine "richtige" Virtuelle Maschine, sondern zieht eine Schnittstelle zwischen den Anwendungen und dem Betriebssytem so, dass die Programme in den verschiedenen "Docker-Containern" gegeneinander isoliert sind. Das geschieht so tief auf Betriebssystemebene, dass die Prozesse im einen Kontainer (z.B. Linux-Kommando TOP) nicht die Prozesse im anderen Container sehen können. Trotzdem läuft in Wahrheit alles auf dem selben Betriebssystem.

Vorteil: Braucht erheblich weniger Ressourcen als eine klassische VM, weil das Betriebssystem nicht in die Gäste kopiert werden muss. (Moderne VMs wie z.B. libvirt merken allerdings auch, wenn das Betriebssystem immer gleich ist und optimieren einiges.)

Nachteil: Alle Kontainer enthalten das gleiche Betriebssystem wie der Wirt: Man kann also mit Docker keinen Debian Gast auf einem Ubuntu Wirt ausprobieren. Sicherheitsaspekte können auch eine Rolle spielen: Wenn der Betriebssystemkern in Docker abstürzt oder angegriffen wird, ist das Gesamtsystem betroffen. Bei einer VM kann man die VM einfach wegwerfen und innerhalb von Sekunden eine Sicherheitskopie starten.

[Bild: main-qimg-dda30a84088be3492f2f5ca355c395ab]

Meine persönliche Meinung ist, dass Docker seine Vorteile ausspielt, wenn man verschiedene Programme installieren muss, die unterschiedliche Anforderungen z.B. bezüglich der benötigten Bibliotheken haben. Viele Programme sind ja nicht so brav, dass man sie einfach in irgendein Verzeichnis kopiert. Fiktives Beispiel: OpenSim Mariafork läuft nur mit Mono 2.10 und OpenSim Musterfork nur mit Mono 5.2. Mit Docker kein Problem, ohne Docker ein ziemlicher Krampf. Mit einer VM auch kein Problem, aber da schleift man halt zwei komplette Betriebssystemkopien (einschließlich ggf. etlicher GB Speicher) mit sich rum.
Hyperweb.eu => Server-Tutorial für Linux mit OpenSim, OpenSim Arriba compiliert und für Metropolis konfiguriert!
[-] The following 1 user says Thank You to Mareta Dagostino for this post:
  • Moe McAlpine
Zitieren
#6
mmhh Mareta

aber wir haben hier ein Debian am laufen, und in einem Docker ein Ubuntu.

Kann das sein, weil Ubuntu auf Debian basiert, das dies funktioniert ?

Im Docker läuft ein eigener Webserver auf einem anderen Port.

Selbst hab ich das nicht konfiguriert

Gruss, Pharcide
[-] The following 1 user says Thank You to Pharcide for this post:
  • Bogus Curry
Zitieren
#7
@Bogus: Könntest du bitte die Technikdebatte bezüglich Docker (z.B. ab #5) in einen neuen Thread im Technik-Bereich abspalten? Das geht jetzt doch arg offtopic, ist aber denke ich zu interessant um es zu töten. Danke. Blush

@Pharcide: Natürlich kannst du im Docker auch eine VM mit einem ganzen Betriebssystem laufen lassen, die VM ist ja auch nur ein Programmpaket letztenendes.

Allerdings ist dann der oben beschriebene Spareffekt dahin, man hätte auch gleich die VM nehmen können. Die Philosophie hinter Docker ist eben nicht Betriebssysteme zu emulieren, sondern Programmpakete voreinander abzuschotten. Bei Linux sind Abhängigkeitskonflikte ja ein verbreitetes Problem, wenn man Softwarepakete von Dritten installiert, die nicht in der Distribution enthalten sind. (Ähnlich machen es übrigens die "Apps" auf den Smartphones, die werden ja auch von sonstwoher zusammengewürfelt und müssen sich vertragen. Jede App in eine eigene VM würde zuviel Speicher erfordern.)

EDIT: Wenn manche Anwender Docker einfach nur deshalb bevorzugen, weil sie mit der Bedienoberfläche besonders gut klarkommen, ist das auch ein legitimer Grund ... gerade im Hobbybereich. Wenn dann wirklich nur mehrere VMs damit gestartet und gestoppt werden, ist das zwar mit Kanonen auf Spatzen aber was soll's!

Und die Hardcore-Fraktion bleibt bei virsh. Tongue
Hyperweb.eu => Server-Tutorial für Linux mit OpenSim, OpenSim Arriba compiliert und für Metropolis konfiguriert!
Zitieren
#8
Warum soll ich den Teil nun auslagern ? Ich hab den Thread doch dafür erstellt, das hier auch sowas diskutiert bzw. erklärt werden kann ;D

Alles gut ;D
Tschöö

Bogus | PinguinsReisen.de
[-] The following 1 user says Thank You to Bogus Curry for this post:
  • Mareta Dagostino
Zitieren
#9
Da läuft doch so ein Projekt seit Jahren.
https://hub.docker.com/r/quantumobject/d...simulator/
Aktueller Stand ist OpenSim 0.9.0RC2.
[Bild: attachment.php?aid=2586]


Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Linux Mint auf einen IMac Bogus Curry 0 194 04.08.2017, 04:02
Letzter Beitrag: Bogus Curry
  [Heise.de-Artikel] Admin wider Willen: Freizeit-Support bei PC-Problemen kann teuer w Bogus Curry 0 274 17.06.2017, 14:31
Letzter Beitrag: Bogus Curry
  Wie hoch kann man bauen? Manfred Aabye 1 495 27.01.2017, 19:44
Letzter Beitrag: LadyContessa Barbosa
  Wie läd man richtig einen Oar runter? Alira Vigrid 5 1.337 17.11.2016, 01:17
Letzter Beitrag: Mareta Dagostino
  Kann keine IMs empfangen MoniTill 7 2.193 12.07.2015, 14:43
Letzter Beitrag: MoniTill

Gehe zu:


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