Schwankende Server-FPS trotz geringer Hardware-Auslastung

  • In HLSW sieht das z.B. so aus:


    Code
    16:00:13 stats
    16:00:13 CPU   In    Out   Uptime  Users   FPS    Players
              7.33  7.84 10.10      10     4  857.63       2
    16:00:13 stats
    16:00:13 CPU   In    Out   Uptime  Users   FPS    Players
              7.50  7.79  9.86      10     4  191.98       2
    16:00:14 stats
    16:00:14 CPU   In    Out   Uptime  Users   FPS    Players
              7.50  7.81 10.05      10     4  419.29       2
    16:00:14 stats


    von 200-1000 ist alles drin...


    top:

    Code
    top - 23:00:52 up 28 days,  5:19,  1 user,  load average: 0.93, 1.19, 1.02
    Tasks:  49 total,   2 running,  47 sleeping,   0 stopped,   0 zombie
    Cpu(s): 43.1% us,  1.3% sy,  0.0% ni, 54.5% id,  0.0% wa,  0.0% hi,  1.0% si
    Mem:   1034904k total,  1003404k used,    31500k free,    56768k buffers
    Swap:  3927884k total,        0k used,  3927884k free,   484552k cached


    Server ist also nicht wirklich "ausgelastet"...


    Server Hardware ist ein P4 2.53Ghz (no hyperthreading), 1gig RAM, Debian 3.1 -

    Code
    game@sarge:~/halflife/hl1$ uname -a
    Linux sarge 2.6.14.3 #1 SMP Sat Dec 10 17:32:39 CET 2005 i686 GNU/Linux


    Gestartet wird mit:
    screen -A -m -d -S cs1 ./hlds_run -game cstrike +map de_dust -port 30000 +maxplayers 16


    hinzufügen/weglassen von -pingboost ändert nichts.


    Wenigstens 500fps, die aber konstant wären wünschenswert...

  • also das die fps schwanken ist nichts neues bei den HL Servern, die wirst du nie 100%ig auf einen Wert bekommen und da behalten.
    Was deine auslastung angeht, so ist deine Loadavarage schon nah an der 1, was wohl deine Probleme noch größer machen, als das sie sein sollten. Versuche diese mal durch verschiedene Einstellungen der HLDS und SRCDS Prozesse ein wenig runter zu bekommen.

  • Zitat von » blade

    also das die fps schwanken ist nichts neues bei den HL Servern, die wirst du nie 100%ig auf einen Wert bekommen und da behalten.
    Was deine auslastung angeht, so ist deine Loadavarage schon nah an der 1, was wohl deine Probleme noch größer machen, als das sie sein sollten.


    Was sagt mir der Loadavg. Wert denn? Habe mal ein bisschen rumgelesen und dabei nur rausgefunden, dass der Wert nach einer komplizierten Formel berechnet wird und man ihn nicht 1:1 als CPU-Auslastung sehen kann (also das 1 = 100% wäre).
    Und nach der CPU-Angabe sind ja 54% idle...


    Zitat von » blade

    Versuche diese mal durch verschiedene Einstellungen der HLDS und SRCDS Prozesse ein wenig runter zu bekommen.


    Kannst du da etwas konkreter werden? ;)

  • die Load ist eine Formel aus CPU AUslastung und Rambelegung. Wenn dieser Wert größer 1 ist, dann kommt die CPU mit dem was sie verarbeitet in verzug. Kannst du ganz einfach gegentesten, wenn die load größer 1 liegt, dann is der CPU Wert in der RCON Console bei stats auch größer 0 und das bedeutet, dass die CPU nachhängt mit der berechnung. Dadurch entstehen häufig laggs oder das gefühl, dass nix ankommt.
    Einstellungen mit denen du die load und die CPU Auslastung runter bekommst, ist pingboost rausnehmen (auch wenn du es schon probiert hast) oder anstatt 32 Slots mal nur 20 zu nehmen. Halt etwas weniger. Oder gar einen ganzen Gameserver nicht starten.
    Darüber hinaus laufen sicher noch einige Linuxspezifische Prozesse, da kann man auch ein paar noch abschaltn. Außerdem kannst du den HZ Wert der im Kernel std bei 1000 liegt etwas niedrieger/höher setzen. Dadurch bekommst du auch eine stabilisierung der FPS hin. Ich hab dort einen kleineren Wert genommen, nur als anhaltspunkt. Musst du mal ausprobieren (HZ des Kernels und sys_ticrate des Servers). Jedoch empfehle ich dir grundsätzlich keinen sys_ticrate wert über 2500 bei einer Kernel HZ von 1000.


    Hoffe das war dir nun ausführlich genug.

  • Danke, das war schon sehr ausführlich :)


    Ich habe eben mal geschaut und festgestellt, dass die load avg. selbst ohne einen einzigen Spieler auf einem der Server bei ~0.20-0.30 liegt. Ist das nicht extrem hoch, dafür das eigentlich "nichts" gemacht werden muss...?


    Habe die Slots der beiden Source-Server mal von 32 auf 12 runtergestellt und bei einem der beiden SourceTV deaktiviert. Ich dachte immer nicht belegte Slots erzeugen auch keine Last...


    Aber selbst bei einer loadavg. von nicht annähernd eins schwanken die SFPS zwischen 400 und 1000 :(

  • also meine Server haben eine load von 0, wenn niemand drauf ist. Bei maximal 5 Gameserver die drauf laufen. Die Server FPS hab ich auf 125 so gut es ging festgesetzt. Auch bei vollen Servern bleibt die FPS so konstant bei ca 120-130 und die Spieler haben 0 laags oder sonstiges. Ich frag mich nur immer wieder, was einem eine berechnung von 1000 bringen soll? wenn sie konstant bei 1000 wäre, dann wäre es ein klarer vorteil, aber sobald die fps schwanken kommen laags usw ins spiel. Außerdem ist die Belastung fürs system höher.
    Ich für meinen teil hab somit meine Einstellungen gefunden und werde diese solang keiner der Kunden/Spieler meckert dabei bleiben.

  • Also wenn die Loadaverage kleiner 0 sein muss, habe ich ein Problem.
    Bis jetzt hat sich keiner über laggs beschwert.


    Aber was soll ich machen? Ich habe überall Tickrate 33, keinen Pingboost usw. Die CPU ist ja auch nicht voll ausgelastet.


    CPU: Pentium4 2,8GHz HT
    Ram: 2x 512MB DDR 400


    HDD: 2x SCSI 80GB mit 3ware Raid 1


  • Bis jetzt ist ja auch bei uns alles einwandfrei gelaufen, die Source Server laufen sauber bei 330fps +/- 10 und bis jetzt waren und sind alle zufrieden.


    1.6ler wollen aber konstante, mindestens 500, server fps. Ich bin kein profesioneller Spieler und kann das nicht bewerten, wenn Spieler das aber so sagen muss ich das glauben und ihnen den bestmöglichen Server bieten.


    Ich werde SourceTV jetzt mal ganz abschalten, da uns sowieso noch eine srctv proxy fehlt und deshalb momentan eh niemand zuschauen kann ;)
    Scheint etwas besser zu laufen jetzt.


    Blöd das ein CPU Upgrade 20€+ kosten würde, da damit auch ein Mainboard-Tausch verbunden wäre.
    Mir will aber nicht in den Kopf warum ein P4 mit 2.53Ghz nicht genügend Leistung aufbringt um so einen popeligen HLDS mit konstanten FPS zu vesorgen.


    Was mir gerade noch in den Kopf gekommen ist: NIC ist so ein Realtek-Schrott... Bei der enormen Anzahl von Paketen, die da über die Leitung wandern (momentan 2k/s bei 10 leuten) könnte die Karte bzw. deren Treiber doch auch eine nicht geringe CPU-Last erzeugen, oder ist das eher nebensächlich?
    Wenn dem so wäre kommt die Frage nach einer guten NIC. Intel? 3com?


    bwar Wer auf TR 33 Servern spielt ist vermutlich auch gegen den ein oder anderen Lag "immun" ;)

  • also eine gute Netzwerkkarte ist sicher von vorteil, aber macht sowas ganz bestimmt nicht alleine aus.
    Was die Load angeht so hab ich das mit meinem CS Team ausm Clan getestet und diese sind der Meinung, dass der Server mit den konstanten 125FPS auch wenn es nur 125 sind am besten läuft. Ein server der mehr hatte, aber geschwankt hat, war nicht bespielbar ihrer Meinung nach. Als ich dann die FPS auf 250 hochgesetzt hab und diese dort auch konstant lief, meinten die 5 spieler, dass der effekt vorhanden wäre, das nichts ankommt. Somit hab ich die FPS wieder auf 125 gestellt und bleibe dort.


    Das selbe hab ich mit der load getestet. Dabei hab ich einen Source Server laufen lassen und mit 32 bots gefüllt. Dabei war dann die load bei ca 2-3 mit leeren Server. Als dann die 5 ein 5on5 spielten und danach ihren bericht (sozusagen) abgegeben haben, war ich baff. Die Server würden nur laagen habe ich von allen 5 zu gehör bekommen. Darum versuche ich bei allen roots die load unterhalb von 1 zu halten und meine Tests habens mir persöhnlich gezeigt, dass dies wohl für uns das beste ist. Was für jemand anderen das beste ist, will ich garnicht bezweifeln, aber für mich ist dies nunmal fakt. Und wenn ein System ohne einn Prozess, der Ressourcen frisst schon ne load von 0.2-0.3 hat, dann scheint echt etwas nicht in Ordnung zu sein.



    Und so sieht das ganze auf meinem Root aus, den ich für meinen Clan (nicht für die Kunden) am laufen hab. Zu dem Zeitpunkt war kein Spieler auf irgendeinem Server.


    Und fals jemand einen Screen haben will, wenn die Server mal voll sind, dann kann ich den gerne nachliefern sobald ein paar server der 4 die auf dem Root laufen voll sind.

  • Jepp. Ich will nen screenshot von top. ^^


    Die Tickrate erhöhe ich nicht, weil ich es satt habe, ständig von "pros" angequatscht zu werden, die glauben, man könne die Tickrate aus dem netgraph lesen.


    Da jeder meint, sein Gameserver hätte Tickrate 100, soll ich gefälligst nichts daran machen. :roll::D


    Daher ist mir die Tickrate "fast" egal. Nur mein Clan genießt im Moment Tick100 mit pingboost 3 auf nem anständigen RootServer für sich alleine.



    Zudem ist der Ping auf dem oben angegebenen RootServer, der bei laxin steht, ich zitiere "mega porno geil". Daher beschwert sich keiner, wenn seine Server 10h am Tag voll sind.
    -> Der schöne Traffic :cry:

  • ich reiche den top nach sobald die server ma wieder ordentlich gefüllt sind. Was die Tick angeht bwar, hab ich eine Tick von 250 eingestellt... durch die HZ des Kernels gelange ich somit auf 125 FPS zu 99% konstant. Von daher ist mir die Tickrate auch egal. Bei den Kundenservern können die Kunden selber die Tickrate aussuchen. Dort hab ich die HZ des Kernels auch auf einen Mittelwert gesetzt. Sprich die Optimierungen die ich am Clan Root gemacht hab sind dort nicht er Fall. Jedoch laste ich die Roots auch nicht bis zu einer load von 2-3 aus. Aber jedem das seine. Wenn deine Kunden/spieler mit den Servern zufrieden sind, dann is doch in ordnung :) das juckt uns 2 doch dann eh net. nur unsere einstellungen bezüglich einer konfiguration sind verschieden, was mich auch nicht weiter juckt. Jeder kann ja sein system einstellen und aufbaun wie er will :D

  • Willst du mich jetzt dissen? ^^


    Irgendwie laggen die Server auch nicht. Zudem sind das nicht meine Kunden. Es sind Clanmember, die sich mit anderen Clans RootServer mieten. Ich bin nur Admin.


    Sprichts du bei der Tickrate von 250 von CS1.6-Servern?


    Bei CS:S ist doch die höchste realistische Tickrate 100. Bei CS1.6 muss man für Tickrate 100 den Gameserver mit -sys_tickrate 1000 starten, weil man sich doch immer eine 0 hinten wegdenken muss. Bei 250 währe dann die Tickrate bei CS auf realen 25. Also unter dem Standart.


    ... jedem das seine. ;)


    Egal. Dennoch frage ich mich, warum die Loadaverage nicht im verhältnis zur CPU-Auslastung steht.

  • also der load sollte bei idle gänzlich bei 0 liegen. Andernfals ist etwas am System faul. Denn wenn Linux nix zu tun hat, kann die load eigentlich auch net über 0 sein. Rein theoretisch. Praktisch sieht das wie du siehst ja anders aus.
    Was ich dir als Tip geben kann, ist mal ein dist update zu machen. Fals du nicht schon die neuste Version des Kernels usw drauf hast. Dann wird der neuste Standartkernel geladen und vll hast du dann ein paar Probleme weniger. Einfach mal probieren mit apt-get

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!