Aktuelle Zeit: Sa 27. Apr 2024, 14:40


Forumsregeln


Bei diesem Forum einschließlich aller Unterkategorien handelt es sich um ein privates Forum. Es gelten die Regeln des Browserspieles Horizon.



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
 Zu den aktuellen Einschraenkungen 
Autor Nachricht
Pantheon
Benutzeravatar

Registriert: Mi 21. Mai 2008, 17:25
Beiträge: 1143
Wohnort: Munich
Beitrag Zu den aktuellen Einschraenkungen
Nabend!

Ich glaube, dass ich nun doch noch einmal etwas zu den aktuellen "Aussetzern" sagen muss, die uns heimsuchen.

Erstens
Der Kern ist und war zu keiner Zeit beeintraechtigt, funktioniert nach wie vor tadellos und langweilt sich sogar ein bisschen. "Abstuerze" hat es also mitnichten gegeben.

Zweitens
Die eingeschraenkte Erreichbarkeit des Spiels hat zwei Ursachen. Daher Folgendes zur Erklaerung: Jeder Klick auf der Horizon-Seite oder im Spiel beansprucht einen Apache-Webserver-Prozess. Dieser Prozess initialisiert u.a. eine PHP-Instanz, die fix 32 MB Speicherplatz reserviert - ob sie sie nun braucht oder nicht. Das bedeutet, daß bereits 32 gleichzeitige Zugriffe 1 GB an Hauptspeicher benoetigen. Bei 64 gleichzeitigen Zugriffen sind wir schon bei 2 GB an benoetigtem Hauptspeicher. Daher haben wir die Anzahl maximaler gleichzeitig ablaufender Apache-Prozesse auf 150 begrenzt. Solange diese Grenze nicht erreicht ist, "flutscht" Horizon. Je mehr man sich der Grenze naehert, umso langsamer wird es. Der Server muss nun Teile des Hauptspeichers auf die Festplatte auslagern - das dauert. Horizon fuehlt sich "zaeh" an. Ist diese Grenze erreicht, bedeutet das, dass eure Anfrage nicht bearbeitet wird, da der Webserver keine (weitere) Instanz eroeffnen kann. Also wartet er solange, bis er es kann oder die Anfrage so lange dauert, dass es zu einer Zeitueberschreitung kommt. In ersterem Fall fuehlt sich das Spiel "stark laggy" an. In zweiterem Fall bekommt ihr eine weisse Seite oder die Meldung ueber eine aufgetretene Zeitueberschreitung.
Das bedeutet: Eine Ursache liegt in der aktuellen technischen Begrenzung von 150 Webserver-Prozessen gleichzeitig.

Die zweite Ursache seid ihr. Ihr geht absolut grob fahrlaessig mit den zur Verfuegung stehenden Ressourcen um. Jeder Klick, jeder Tab, Fasterfox-Erweiterungen und aehnliche Schlechtigkeiten nehmen - vielleicht auch ohne euer Wissen - Webserver-Prozesse in Anspruch und blockieren letztendlich den Zugang.
Wir haben heute morgen 14 (VIERZEHN!) gleichzeitige Prozesse einem einzigen Spieler zuordnen koennen. Und daneben weitere Spieler, die 4 - 8 gleichzeitige Prozesse besetzten. Entsprechend wundert es mich nicht, dass die Leute jammern, dass das Spiel langsam sei: 10 - 20 ruecksichtslose Leute reichen demnach schon aus, um alles lahmzulegen.

Ich unterstelle hier keine Absicht - wenn es so waere, wuerde ich mir nicht die Muehe machen, die Situation gross und breit zu erklaeren und darauf hinzuweisen.

Jedoch moechte ich an Folgendes appellieren: Lasst Pre-Loading-Addons und sonstige Faxen deaktiviert. Fasterfox IST boese! Reduziert die Anzahl eurer Tabs und unterlasst Auto-Reload. Und natuerlich sonstige Automatismen! Und schon werden viel mehr Leute gleichzeitig bearbeitet werden koennen und alle sind (wieder) zufrieden.

Diese technische Begrenzung wird immer bleiben. In naher Zukunft koennen wir sie eventuell auf 300 oder gar 600 gleichzeitige Prozesse anheben, aber sie wird es immer noch geben. Und was wir auch tun werden - IHR werdet sie immer wieder erreichen. :shock:

Dhyani

_________________
Pantheon-Mitglied
Projektierung / Entwicklung


Fr 27. Nov 2009, 18:37
Profil Website besuchen
Tesserarius
Tesserarius

Registriert: Mi 21. Mai 2008, 18:07
Beiträge: 136
Beitrag Re: Zu den aktuellen Einschraenkungen
Hinzu kommt, dass Horizon selbst nicht gerade sparsam ist bei den Prozessen. Durch die Frames verursacht z.B. jeder Klick ins Menü gleich 2 Anfragen an den Server, in der Statistik werden bei jedem Klick ins obere Menü sogar 3 Anfragen abgefeuert. Lädt jemand die Hauptseite neu, werden gleich 6 Anfragen gleichzeitig abgeschickt! Das Hauptproblem dabei ist, dass PHP Anfragen mit der gleichen Session (also Anfragen vom gleichen Spieler) immer nur sequenziell abarbeiten kann, da immer nur ein Prozess gleichzeitig auf eine Session zugreifen darf.

Normalerweise wäre selbst bei 1000 Spielern, die gleichzeitig online sind, der gleichzeitige Zugriff auf den Server von mehr als 50 Spielern eher unwahrscheinlich. Der Grund ist das eine Anfrage im Normalfall nur etwa 200-400 Millisekunden dauert. Für viele gleichzeitige Anfragen in diesem Zeitraum sind schon sehr viele Benutzer nötig.
Bei Horizon ist der worst case aber 6 Anfragen pro Spieler, die zudem noch sequenziell abgearbeitet werden müssen. Dauert jede Anfrage im Schnitt 300 Millisekunden blockiert die, die zuletzt dran kommt, für 1,8 Sekunden einen Serverprozess. Rein rechnerisch ist also, im Vergleich zu einer Anfrage pro Spieler, nur ein Sechstel der Benutzer nötig um das Maximum von 150 gleichzeitigen Anfragen zu erreichen.
Anders gesagt: Ohne die Frames könnte Horizon 6 mal mehr Benutzer vertragen als jetzt.

just my 2 cents


Fr 27. Nov 2009, 21:25
Profil
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 13 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB © phpBB Group.
Designed by Vjacheslav Trushkin for Free Forums/DivisionCore.
Deutsche Übersetzung durch phpBB.de