Problem: "Kernel for Gameserver"

  • Hallo,


    ich schlage mich schon seit geraumer Zeit damit rum einen anständigen Kernel für meinen eigenen Root zu erstellen.


    Root:


    P4 3.0 GHZ HT
    2 GB RAM


    BS:


    Debian Sarge


    Meine Frage ist was ich falsch mache. Ich backe meine Kernel selber. Nehme eiegntlich alles für diesen Server "unwichtige" raus Sound, USP etc.
    Habe den Server schon auf vieles getestet. Kernel Patch, Preempt Volumetry, ohne Forced, low Latency. Habe ebenfalls die HZ Kernel Zahl von 250 auf 500 zu 1000 getestet. Habe HT an und ausgestellt. Trotzdem kämpfe ich mit Load Problemen. Habe mir einige Treads hier im Forum durchgelesen aber nichts hilfreiches gefunden. Was kann ich noch machen ? Ich nehme âtm den 2.6.16 Kernel. Der Load steigt bei alleine 10 Spieler auf 0.8 bis 1.5 bei 10-25% CPU Auslastung. Laut einigen Erfahrungen die ich aus Foren ersehen konnte, wurde gesagt das man solch einen Server gut mit 60-70 Slots laufen lassen kann. Wobei der Server, wenn er voll sein sollte also alle Slots sind belegt. max. einen Load von 1 hat vielleicht auch 1.5. Was kann ich nur machen ? :(
    Die Gameserver habe ich ebenfalls getestet mit 125, 250 und 333 Serverfps (CS v1.6). Aber vergebens....Der Ping im Scoreboard sieht ebenfalls nicht schön aus (bei 125Serverfps).


    MfG Peter

  • Also ich denke dass der Fehler hier nicht der Kernel ist.


    Ich würde mal folgendes checken:
    DMA
    evtl ACPI-Probleme (würd ich deaktivieren, bei einem Server eh nicht notwendig)
    Anzahl an Prozessen


    Dann würd ich mir mal ein Monitoringtool installieren wie cacti (ist in Sarge dabei, wenn du das Paket installiert hast musst du noch die Tabellen anlegen und mysql support in den cgi modulen aktivieren. Die infos findest du unter /usr/share/cacti/docs oder so. Nagel mich nicht drauf fest ;) ) oder Hotsianic von Sourceforge.


    Hast du es schonmal mit einer anderen Anwendung versucht? Tritt bei einer anderen Gameengine das selbe Problem auf?


    Edit: Hier mein Heimserver: http://baumgartner.homelinux.org/cacti/ User=guest pw=guest :D

  • Die Load ist nicht mal 0.5, weil hier nämlich die Load für 1, 5 & 15 min aufsummiert ist, also eigentlich ist sie geringer ( der gelbe Bereich)


    Das ganze ist ein Via C3 mit 1000mhz also nicht ganz so schnell wie eine 3 ghz CPU, darum ändert sich die Auslastung bei kleinigkeiten schneller. Darauf laufen ausserdem nicht nur Gameserver sondern noch andere Sachen (die wichtiger sind)
    Die 6 Slots für UT2k3 die möglich sind, sind auch kaum in Verwendung, dient eigentlich nur zur Trafficverschwendung.


    Mach dir also keine Sorgen um meine Load, das passt schon so :D

  • Hallo,


    das hilft mir aber leider net so super weiter bei meinem Problem :(
    Ich weiss einfach nichtmehr weiter ... merh als Kernel backen kann ich net. Irgend jemand meinte mal was von Compiler und lyberys Tunen. Aber andere meinten dazu das geht bei Debian Sarge nichtmehr.
    Habe einfach kein Plan mehr :( hoffe jemand kann mir helfen und hat eine zundende Idee...


    MfG Peter

  • Hallo,


    DMA überprüfe ich bei jeder Servereinrichtung. Diese ist, wenn man hdparm /dev/hda1 startet gleich 1 alle anderen werte die dort angezeigt werden sind 0 und einmal 16 bit an einer stelle. Welche Änderungen genau ? Bis jetzt habe ich nur den Kernel geändert. An sich habe ich am System nix geändert. Ich lasse nur Gameserver drauf laufen auch verschiedene CS,CoD z.b. Aber bei CS besteht bis jetzt das Problem, da ich einfach keine konstante Server fps hinbekomme. Dazu kommt dann noch der hohe Load, bei relativ wenigen Spielern (~10 Stück). Ist es denn überhaupt möglich bei so einem Rechner, um die 60 Spieler gleichzeitig bei einem Load von <1 laufen zu lassen ? Habe ich vielleicht das Thema Load falsch verstanden ? In einem Forum stand, das dies eine Art Verzögerungszeit ist, die der CPU hat um alle Prozesse abzuarbeiten (Was für eine Zeit, wenn ja in ms oder sekunden ?). Ein anderer meinte in einem Forum das die symbolische 1 = 100% zu setzen ist und eine art Formel ist fuer eine Überlastung den Servers oder sowas ähnliches. Was ist richtig ? HILFE :(


    MfG Peter

  • Das mit der Sysload ist Ansichts/Erfahrungssache. Dabei handelt es sich um die Zahl der aktiv Prozesse die in der Warteschleife sind und auf Abarbeitung warten. Eine Sysload von 0 heisst, dass nur 1 Prozess zur selben Zeit CPU-Zeit verbraucht. Das heisst, dass es therotisch möglich ist einen Server mit einer Sysload von 0 voll auszulasten. Bei einer Sysload von 9 laufen insgesammt 10 aktive Prozesse welche auf Abarbeitung warten. Das heisst allerdings noch lange nicht, dass das System überlastet ist weil die CPU ja nicht die _komplette_ Zeit für diese Prozesse verbrauchen muss, sondern noch reserven hat.


    Man kann also sagen dass auch auf einem Gameserver die Sysload höher als 1 sein kann, wenn beispielsweise viele Prozesse laufen die allesamt kaum CPU Zeit verbrauchen.


    So habe ich die ganze Thematik verstanden, also keine Garantie dass ein Experte dazu was anderes sagt!!


    EDIT: Man sollte bei der LOAD auch eher die 15 minuten Kurve verfolgen anstatt die 1min

  • ich gebe dyno-mize recht mit seinem text zu der load.


    Was dein problem angeht, so bekommt man einen guten server nicht nur, weil man den kernel optimiert. wenn man schon seinen kernel optimiert, dann sollte man auch einige andere parts optimieren.


    hier mal meine vorgehensweise:
    1. kernel optimieren und alles was der server nicht brauch rauswerfen (cks patch nicht vergessen)
    2. compiler updaten und dann die compiler auf den jeweils verwendeten cpu, die optimierten files aktivieren (standart ist auf keinen cpu optimiert)
    3. die liberys wie die glibc updaten und auch auf den cpu optimierte files (fals vorhanden - nicht jede lib hat sowas) wechseln
    4. alle unnötigen prozesse aus der rcconf nehmen
    5. Gameserver installieren und optimierte config einfügen
    6. Gameserver mit alle parametern starten (auch mit den startparametern kann man dann noch spielen)


    Mit den 6 Schritten optimiere ich meine roots. Da ich immer auf die gleichen Systeme setze, geht das relativ flott von statten. Vor allem, wenn die Compiler und Libs schon optimiert wurden. Dann ist später immer nur nen update nötig.

  • Hallo,


    ich bedanke mich erstmal für die sehr ausführlichen Infos. Ich habe nur ein paar kleine Fragen zu Deinem Comment "blade".


    Zu 2.) Welche Compiler sollte ich alle updaten ? gcc denke ich mir mal. Vor allem wo kann man die anpassen an die CPU ?


    Zu 3.) Wo sollte ich welche libarys updaten ? Wo kann man diese Libarys an die CPU anpassen ? Zum glibc: Mir wurde mal gesagt man sollte es nicht selber updaten oder installieren weil dabei evl. schäden entstehen können und das System nichtmehr einwandfrei arbeitet ?!


    Zu 4.) Was und wo ist die rcconf und wobei kann ich mir sicher sein was raus muss oder kann ?


    Zu 5.) Welche optimierte CFG ist gemeint ? Meinst Du Einstellungen wie sv_maxupdaterate, sv_maxrate, sys_ticrate ?


    Zu 6.) Was meinst Du mit das man dort noch was rausholen kann ? Normal setze ich die Werte von siehe 5.) in die Startparameter mit den entsprechenden Werten. Oder geht noch was anderes ?


    Bedanke mich schonmal für die nette Hilfe.


    MfG Peter

  • Hi, will dir nicht auf die Füße treten, das mal vorne weg...


    Aber jetzt nimm die Info von Blade und "spiele" damit einfach ein bischen, schau es dir an, ließ man-pages frag google etc.
    Weil das hast du nach 1Stunde und 30min sicher noch net gemacht !!!


    Und dir das jetzt alles zu erklären das es dir was bringt und das du es verstehst, und dann auch noch richtig anwenden kannst...
    Sehen wir heute das WM-Spiel sicher net, und das Finale wohl auch net :wink:


    Also einfach mal a bisl "spielen"


    oder


    Gameserver mieten (Weil dann musst du dich da net drum kümmern)

  • Hallo,


    ich habe bereits nachgeschaut. Nur umfasst dieses Thema einiges und ich habe keine Ahnung wo genau ich suchen soll. Vor allem was ich suchen soll. Dazu kommt noch das ich mich immer gerne wieder bei google mit falschen Schlüsselwörtern rumschlage und irgendwie keine sinnvollen pages finde. Mein letzter Versuch war +server +optimierung +compiler/+liberys +cpu/+system. Dabei kam nichts sinnvolles raus hatte noch einige andere Versuche. Problem ist hierbei einfach nur das ich einfach nur keinen Anhaltspunkt habe wonach ich suchen muss...


    MfG Peter

Jetzt mitmachen!

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