Gibt es eigentlich "Richtwerte" wieviel Spieler auf einen Server passen?
Klar ist das abhängig von der programierung aber genau daran könnte man ja sehen ob man den Code noch stark optimieren muß. Ich habe momentan einen Athlon 64 3500+ mit 2GB Ram aber schon bei 300 aktiven Spielern laggs (ca 35 Spieler durchschnittlich online) . Dazu direkt die Frage ob es normal ist das Mysql alleine 20-30% Cpu Last im leerlauf hat?
Serverauslastung
gepostet vor 18 Jahre, 8 Monate von The_Alien
gepostet vor 18 Jahre, 8 Monate von Kallisti
aquaphobia@eris:~$ uptime
13:03:09 up 11 days, 20:54, 1 user, load average: 0.03, 0.06, 0.02
(elender Zwangsreboot vor 2 Wochen die schoene Uptime kaputt)
Sind momentan 30-40 User online, dazu ein Jabberserver, (wildfire) Onlinestreamingserver (icecast), pop, pop ssl, imap, imap ssl (alles courier), smtp (postfix), ssh (openssh), svn (subversion), ftp (proftpd), mysql, spam assassin, clam av, teamspeak
Insgesamt liegen noch 20-30 Webseiten auf dem Server, die aber nicht stark frequentiert sind.
80% des Tages liegt die load unter 0.10, zu Hauptzeiten im 0.10-0.30er Bereich...
Ist natuerlich im Moment auch nicht gross, wir haben - wegen Entwicklungs / Anmeldungsstop - nur noch ca. 500 User, davon taeglich 200-250 aktiv.
Zu 1000 User Zeiten liefen weniger Services auf dem Rechner, Load war aber vergleichbar.
Allerdings wird bei uns z.B. jedes Schiff individuell beladen, jede Minute werden alle Geschwader und Torpedos dynamisch bewegt, jedes Schiff hat ein individuelles Schadensmodell und eine eigene Modulbestueckung.
Das ist in ogame-artigen Spielen wahrscheinlich um Welten einfacher...
13:03:09 up 11 days, 20:54, 1 user, load average: 0.03, 0.06, 0.02
(elender Zwangsreboot vor 2 Wochen die schoene Uptime kaputt)
Sind momentan 30-40 User online, dazu ein Jabberserver, (wildfire) Onlinestreamingserver (icecast), pop, pop ssl, imap, imap ssl (alles courier), smtp (postfix), ssh (openssh), svn (subversion), ftp (proftpd), mysql, spam assassin, clam av, teamspeak
Insgesamt liegen noch 20-30 Webseiten auf dem Server, die aber nicht stark frequentiert sind.
80% des Tages liegt die load unter 0.10, zu Hauptzeiten im 0.10-0.30er Bereich...
Ist natuerlich im Moment auch nicht gross, wir haben - wegen Entwicklungs / Anmeldungsstop - nur noch ca. 500 User, davon taeglich 200-250 aktiv.
Zu 1000 User Zeiten liefen weniger Services auf dem Rechner, Load war aber vergleichbar.
Allerdings wird bei uns z.B. jedes Schiff individuell beladen, jede Minute werden alle Geschwader und Torpedos dynamisch bewegt, jedes Schiff hat ein individuelles Schadensmodell und eine eigene Modulbestueckung.
Das ist in ogame-artigen Spielen wahrscheinlich um Welten einfacher...
gepostet vor 18 Jahre, 8 Monate von Nuky
Also ich könnt mit deiner Antwort kaum was anfangen Kallisti..
Alien:
Sieht so aus als müsstest du optimieren. Schau mal in den phpmyadmin auf die Statistikenseite wieviele Datenbankabfragen ohne indexes du verwendest. Da steht eh dabei was nicht sein sollte/ist.
Danach: Verwendest du eine Datenbankverbindung pro Seitenaufruf oder mehrere? Ich hatte auch einmal mehrere Verbindung pro Seite (in funktionen) bis ich draufgekommen bin dass das unnötig ist..
Nochwas: Regular expressions einsetzen wann immer du kannst - statt eigenen Parsern... ich hatte am Anfang viele selbstgeschriebene Parser die eig. Optimiert waren und hab durch regex 10fache Steigerung erreicht..
Alien:
Sieht so aus als müsstest du optimieren. Schau mal in den phpmyadmin auf die Statistikenseite wieviele Datenbankabfragen ohne indexes du verwendest. Da steht eh dabei was nicht sein sollte/ist.
Danach: Verwendest du eine Datenbankverbindung pro Seitenaufruf oder mehrere? Ich hatte auch einmal mehrere Verbindung pro Seite (in funktionen) bis ich draufgekommen bin dass das unnötig ist..
Nochwas: Regular expressions einsetzen wann immer du kannst - statt eigenen Parsern... ich hatte am Anfang viele selbstgeschriebene Parser die eig. Optimiert waren und hab durch regex 10fache Steigerung erreicht..
gepostet vor 18 Jahre, 7 Monate von knalli
Ich glaube, das kommt auf die Situation an. Es gibt mit Sicherheit Fälle, wo ein selbstgeschriebener (natürlich optimierter) Parser schneller und effizienter als regex ist. Kommt eben drauf an, was man da parst..
Also, wäre jetzt mal ein unqualifizierter Einwand von mir, bin leider nicht wirklich regex-fit.
Also, wäre jetzt mal ein unqualifizierter Einwand von mir, bin leider nicht wirklich regex-fit.
gepostet vor 18 Jahre, 7 Monate von neit
Wenn ihr die Serverauslastung vergleicht, solltet ihr dies vielleicht anhand von aussagekräftigern Werten als "~100 User online" tun. Wie wärs denn mit den Apache/Mysql Zugriffen pro Sekunde oder der Anzahl der Prozesse sowie Ram-Auslastung und der Load?
gepostet vor 18 Jahre, 7 Monate von RedMax
Daten von gerade eben : 80 User online, 200 Queries pro Sekunde, Load von 0.4
Athlon XP 3200+, 1GB RAM.
Athlon XP 3200+, 1GB RAM.
gepostet vor 18 Jahre, 7 Monate von Kapsonfire
also das ist eine sache vom gametyp udn wie es programmiert ist ein unsauberer code der 3x so lang ist wie ein sauberer egschriebener braucht natürlich länger
zusätzlich sollte man vergleichen zwischen strategie/manager games und rpg'S
rpg's verbrauchen in der regel mehr traffic.... besonders grafische rpg's
es kann natürlich auchs ein das ein strategie browsergame mehr verbaucht als ein rpg
zudem ist es auch eine sache wieviel mit mysql doer mit dateien gearbeitet wird...
meines wissens brauchen mysqlabfragen mehr traffic als z.B. datein auszulesen
zudem sollte beachtet werden was für eine anbindung der server hat... eine 100k/bit leitung kann nicht soviele user versorgen wie eine 500k/bit
zudem ist es auch wichtig wie viel speicher der rechner hat (arbeitsspeicher) die spielt eine sehr große rolle
nun solltest du eventuell überlegen wieviele abfargen in der sekunde geschehen..... dies kannste ja dann mal simulieren wielange das braucht... dort wirste sehen wie es aussieht abwieviel user der laggt
ein tipp von mri ist es grafikpackete optional anzubieten..... dies entlastet den server enorm und hat ausserdem ein schnelleren bildaufbau für die user.... allgemein kann ich sagen man sollte es einfach drauf ankommen lassen und eventuell dann den server verbessern oder eine max user online zahl einbauen
ist aufjeden meine meinung!
zusätzlich sollte man vergleichen zwischen strategie/manager games und rpg'S
rpg's verbrauchen in der regel mehr traffic.... besonders grafische rpg's
es kann natürlich auchs ein das ein strategie browsergame mehr verbaucht als ein rpg
zudem ist es auch eine sache wieviel mit mysql doer mit dateien gearbeitet wird...
meines wissens brauchen mysqlabfragen mehr traffic als z.B. datein auszulesen
zudem sollte beachtet werden was für eine anbindung der server hat... eine 100k/bit leitung kann nicht soviele user versorgen wie eine 500k/bit
zudem ist es auch wichtig wie viel speicher der rechner hat (arbeitsspeicher) die spielt eine sehr große rolle
nun solltest du eventuell überlegen wieviele abfargen in der sekunde geschehen..... dies kannste ja dann mal simulieren wielange das braucht... dort wirste sehen wie es aussieht abwieviel user der laggt
ein tipp von mri ist es grafikpackete optional anzubieten..... dies entlastet den server enorm und hat ausserdem ein schnelleren bildaufbau für die user.... allgemein kann ich sagen man sollte es einfach drauf ankommen lassen und eventuell dann den server verbessern oder eine max user online zahl einbauen
ist aufjeden meine meinung!
gepostet vor 18 Jahre, 7 Monate von Sarge
Original von Browser-Games World
rpg's verbrauchen in der regel mehr traffic.... besonders grafische rpg's
es kann natürlich auchs ein das ein strategie browsergame mehr verbaucht als ein rpg
Ich denke nicht das man solche Aussagen verpauschalisieren kann. Traffic hängt einzig und alleine davon ab wieviel du den Usern darstellst und wie oft diese die Seiten aufrufen. Und das ist dann doch sehr Spiele abhängig.
Original von Browser-Games World
zudem ist es auch eine sache wieviel mit mysql doer mit dateien gearbeitet wird...
meines wissens brauchen mysqlabfragen mehr traffic als z.B. datein auszulesen
Lokal über Socket verbrauchen sie exakt gleichviel.. nämlich null. -.-
Wird ein remote Mysql Server verwendet so hast du zwar zusätzlichen Traffic aber da dieser RZ-Intern sein sollte (wegen response time schon) sollte dieser dir in den _meisten_ RZ's nicht angerechnet werden.
Original von Browser-Games World
zudem sollte beachtet werden was für eine anbindung der server hat... eine 100k/bit leitung kann nicht soviele user versorgen wie eine 500k/bit
Ich denke man sollte davon ausgehen können, dass wenn es zu ernsthafte Performance fragen kommt der rechner in einem RZ steht. Und somit mit 10 oder 100mbit angebunden sein sollte. Dies sollte ersteinmal kein limitierender Faktor darstellen .. (eher der Geldbeutel wenn diese wirklich ausgenutzt wird. (Wenn keine flatrate wie bei 1&1 vorhanden ist) Wobei ich zugeben muss, dass bei uns die 10mbit nichtmehr reichen würden (wäre es ein einzelner Fronserver der das bedienen muss) selbst wenn der traffic gleichmäßig verteilt wäre. -was er bekanntlicherweise nicht ist-)
Für Server die an der heimischen Leitung hängen ist das natürlich was anderes.. ich stelle aber die wage behauptung auf, dass diese nun hier ziemlich in der Minderheit sind wenn es um spiele >300 User geht.
Original von Browser-Games World
ein tipp von mri ist es grafikpackete optional anzubieten..... dies entlastet den server enorm und hat ausserdem ein schnelleren bildaufbau für die user.... allgemein kann ich sagen man sollte es einfach drauf ankommen lassen und eventuell dann den server verbessern oder eine max user online zahl einbauen
Da Grafikpacks nur statischen Content bedienen sollte es performance mäßig nur ein geringe Entlastung bringen. Traffic kann dadurch allerdings schon sehr gespart werden.
Eine Max User Online Zahl halte ich für sehr ungeschickt. Wenn muss man das schon vorher regulieren das man nur xyz Spieler sich registrieren lässt.
Da wird nichts daran vorbeigehen selbst ein wenig voraus zu "benchmarken" ... und leidige Erfahrungen mit der eigenen Software machen zu müssen.
Meist rentiert es sich dann nicht einfach gleich besseren Server zu holen, sondern sich auch einmal anzuschauen warum denn eigentlich der alte Rechner so stark ausgelastet ist.. und dann dort nachzuhacken (im idealfall bitte bevor das spiel unspielbar wird aufgrund der performance probleme.. dann doch lieber schnell leistungsfähigeren holen).