Mit welcher Auslastung muss ich rechnen?

Pickarott

Registered User
Hallo Gemeinde

Ich würde gerne wissen, wie viel User ein Server verwalten kann, wenn er über die Leistungsdaten wie dieser hier von Strato verfügt. Es geht um den MW2. Der Server soll als Gameserver ausschließlich für die Synchronisation der Positionsdaten unter den Usern dienen und halt Aufgaben erledigen, die ein Gameserver sonst auch tut.

Dabei ist mir wichtig, wie viele User der Server "verträgt" ohne dass die User merken, dass das Spiel "auf den Server warten" muss. Ich brauche also nicht unbedingt die Angabe mit 100% Serverlast...

MfG

Pickarott
 
Das hängt definitiv vom Spiel ab.
Was bei einem Spiel für 100 Slots reicht, reicht bei einem anderen vielleicht knapp für 30.
Pauschale Antworten wären also nichts wert...was soll denn laufen?
 
Um was geht es denn genau ?

Generell rate ich die von diesen Hostern ab, den diese sind in keinsterweise Gameservertauglich. Für web,mail,ftp kram ja evtl. aber für Gameserver ist das routing meist nicht geeignet.

mfg Flo
 
Das hängt vom Spiel ab, für Ego-Shooter und andere Spiele, bei denen auf den Ping ankommt, ist Strato sicher nicht geeignet, das stimmt.
 
Peacemaker33 said:
Das hängt vom Spiel ab, für Ego-Shooter und andere Spiele, bei denen auf den Ping ankommt, ist Strato sicher nicht geeignet, das stimmt.

Es geht mir auch nicht so sehr um Strato oder einen anderen Provider sondern mehr um die Rechnerkonfiguration an sich. Diese sollte ausreichen um bei "X" Usern die Synchronisation der Positionsdaten zu gewährleisten.

Da sich meine Ideenen noch in der Entwicklungsphase befinden kann ich nicht allzu viel über das Volumen machen, das jeder User pro Sekunde erzeugt.
Aber gehen wir mal von etwa 30kB pro User an Positionsdaten (weiß nicht, ob das zu viel oder zu wenig ist) aus und dass er diese alle 5 Sekunden "raus" schickt.
Die Anwendung wird (voraussichtlich) über einen XML-Socket-Server laufen.

Im Grunde ist es ja vorerst einem Chatsystem sehr ähnlich, da ja nur gesagt wird: "ich bin auf Position X1:Y1 und gehe nun nach X2:Y2". Die Bewegungsberechnung findet beim Client statt.

Als Beispiel: 500 User klicken gleichzeitig um ihren Charakter zu bewegen. Kommt der obige Server (unabhängig vom Provider) damit klar? Wenn nicht, wie viele könnte er bei diesem Beispiel gleichzeitig ohne großartigen Zeitverlust (also ohne dass es der User mitbekommt) handeln?
 
Das kann man in Theorie so nicht berechnen.
Aber mal so als Anhaltspunkt:
Ich spiele für gewöhnlich Ego-Shooter, da reden wir über 33-100 Positionsaktualisierungen/Spieler/Sekunde und Datenströme von 8-20 KB/Spieler/Sekunde up und down.
Ich weiß nicht, welchen der Server du angedacht hast, also nehme ich mal als Grundlage einen Opteron 146, so eine Maschine nutze ich selbst mit Win 2003 Server (32 bit) und 2 GB Ram sowie 2 HDs.
Bei Ego-Shootern mit den o.g. Werten kannst du auf so einer Maschine je nach genutzten Spielen und Konfiguration etwa 50-80 besetzte Slots rechnen, ohne daß es zu Störungen (Lags) kommt und mit genug Reserve für Teamspeak, HTTP-Redirection etc.

Dazu muß man aber wissen, daß die meisten Egoshooter serverseitig keine gleichmäßige Last verurachen, beim Rundenstart und vor allem beim Mapwechsel gibt es Lastspitzen, je nach Spiel gibt es auch Lastspitzen bei bestimmten Aktionen im Spiel. Außerdem kommt es fast immer darauf an, daß alle Spieler möglichst schnell und gleichmäßig die Daten bekommen, daher ist je nach Konfiguration und Anspruch eine Dauerlast von 30-50% das oberste Limit auf einer Single-Core-CPU.

Wenn du wirklich ein Spiel planst, bei dem Positionsdaten alle 5 Sekunden mitgeteilt werden, kann ich mir zunächst nicht vorstellen, woher 30 KB/Spieler/Sekunden herkommen sollen, selbst riesige 3D-Maps können kein Koordinatensystem haben, bei dem die Positionsangabe 150 KB erfordert.
Du wirst auf jeden Fall nicht umhin kommen, dein System in der Praxis zu testen und erst dann bekommst du realistische Schätzwerte.
Dabei kannst du davon ausgehen, je unwichtiger die Datengeschwindigkeit und je seltener die Aktualisierung, desto gleichmäßiger wird die Auslastung sein und desto höher darf die Dauerlast sein.
Bei 5 Sekunden-Intervallen interessiert es vermutlich niemanden, ob die Daten ihn in 20 oder 100 ms erreichen. Trotzdem mußt du dann natürlich immer noch mit Reserven planen, aber das ist eine andere Frage...
 
Peacemaker33 said:
Aber mal so als Anhaltspunkt:
Ich spiele für gewöhnlich Ego-Shooter, da reden wir über 33-100 Positionsaktualisierungen/Spieler/Sekunde und Datenströme von 8-20 KB/Spieler/Sekunde up und down.

Also an so viele Aktualisierungen hatte ich eher nicht gedacht. Es sollen eher nur Start- und Zielpunkt synchronisiert werden - die Bewegungsberechnung findet beim Client statt.
Ich bin halt von einer "Richtungsänderung" alle 5 Sekunden ausgegangen, wobei dann die aktuelle Position und der neue Zielpunkt synchronisiert werden sollen... Schätze mal, dass es dann nicht sehr viele KB sein werden.

Peacemaker33 said:
Ich weiß nicht, welchen der Server du angedacht hast, also nehme ich mal als Grundlage einen Opteron 146, so eine Maschine nutze ich selbst mit Win 2003 Server (32 bit) und 2 GB Ram sowie 2 HDs.

Genau diesen Rechner meinte ich :D !

Was denkt Ihr, verträgt der Rechen bei den obigen Datenmengen an Usern???
 
Back
Top