Problem mit UDP-Buffer auf VServer (dgramrcvbuffer)

Thomas233

New Member
Hallo Leute,

habe einen CS:S Server mit einigen Addons sowie einen TS Server und eine kleine Webseite auf meinem VServer laufen.
Ich weiß ihr werdet jetzt sagen das funktioniert nicht gut (habe bereits das ganze Forum durchgekramt und habe das oft gelesen), jedoch bin ich an sich ganz zufrieden mit der Performance, auch von den Ressourcen her ist die Auslastung in Ordnung und ich stoße eigentlich nie an die Limits.

Das einzige Problem das ich mit den Ressourcen habe ist der ständig überlaufende UDP-Buffer (dgramrcvbuffer). Dieser ist im Gegensatz zum TCP-Buffer mit einer maximalen Größe von 255000 doch relativ klein bemessen.
Da CSS nunmal fast ausschließlich auf UDP basiert belastet es eben diesen einen Buffer sehr.

Das ist u.a. daran festzustellen, dass der Server die erste Stunde oder so bestens läuft und sich dann mit der Zeit kleine Lags einschleichen die immer stärker werden. Im Server-Log werden ab diesem Zeitpunkt auch ständig sehr viele Pufferüberläufe festgehalten.

Auch bei Mapchanges kommt es gerne vor das der Server hängen bleibt und alle restlichen UDP-Dienste blockt. Ich muss ihn dann kurz ausschalten und neustarten (nur den CSS Server). Das ist natürlich extrem nervend.

Hier meine beancounters-Datei:
Code:
       uid  resource                     held              maxheld                                                                        barrier                limit              failcnt
     44215: kmemsize                  4964652              5135993             2                                                          2111846             22754099                    0
            lockedpages                     0                    0                                                                            344                  344                    0
            privvmpages                 91226                92046                                                                         327680               329728                    0
            shmpages                      793                  793                                                                          43008                43008                    0
            dummy                           0                    0                                                                              0                    0                    0
            numproc                        44                   45                                                                            333                  333                  365
            physpages                   29270                29442                                                                              0           2147483647                    0
            vmguarpages                     0                    0                                                                         163840           2147483647                    0
            oomguarpages                29270                29442                                                                         163840           2147483647                    0
            numtcpsock                     13                   15                                                                            720                  720                    0
            numflock                        4                    4                                                                            224                  246                    0
            numpty                          2                    2                                                                             16                   16                    0
            numsiginfo                      0                    0                                                                            256                  256                    0
            tcpsndbuf                  119544               175800                                                                        1416560              2768240                    0
            tcprcvbuf                  169552               178040                                                                        1416560              2768240                    0
            othersockbuf               189864               191184                                                                         655717              1153621                    0
            dgramrcvbuf                     0                 4392                                                                         264192               265096                22911
            numothersock                  117                  117                                                                            720                  720                    0
            dcachesize                 996003              1004994                                                                        6819840              7249920                    0
            numfile                      1882                 1891                                                                          10000                10000                    0
            dummy                           0                    0                                                                              0                    0                    0
            dummy                           0                    0                                                                              0                    0                    0
            dummy                           0                    0                                                                              0                    0                    0
            numiptent                      14                   14                                                                             96                   96                    0

Wie ihr seht stellt einzig und alleine der "dgramrcvbuf" Buffer das Problem dar.

Daher meine Frage(n):
Gibt es irgendeine Möglichkeit den "dgramrcvbuf" Buffer zu umgehen oder die UDP-Pakete als TCP-Pakete zu empfangen?
Lässt sich die Benaspruchung des Buffers irgendwie einschränken (ohne neue Lags) ?
Kann ich irgendwie eine schnellere Abarbeitung des Buffers erzwingen (der CSS Server hat bereits hohe Priorität) ?
Stören sich TS und CSS evtl. gegenseitig ?

Wäre für eure Hilfe sehr dankbar, konnte leider bis jetzt keinen wirklichen Anhaltspunkt finden !

Mit freundlichen Grüßen,
Thomas
 
Last edited by a moderator:
Hi,

du hast alle Beiträge gelesen und weißt sogar das ein Gameserver auf einem Vserver unsinn ist und fragst trotzdem?

Natürlich kann diese Limit nicht umgangen werden. Die Jungs von Netclusive können das natürlich hochsetzen aber meistens auch nur gegen Bares.

Was mich besonders ärgert ist diese sturheit. Ich habe selbst einen Vserver bei Netclusive und leide schon immer unter extreme Performance problemen.

Wenn ich jetzt so typen wie dich als Nachbarn habe könnte ich glatt ausflippen.

Im übrigen stören sich Gameserver und Teamspeak Server nicht. Aber der Webserver und der Gameserver stören sich natürlich. Ein Webserver besteht ja meistens aus mehrere Anwendungen (Apache, Mysql, Mailserver, Spamfilter, Antivirus, usw...) die sollen sich jetzt die sowieso schon geringen Ressourcen mit einem Gameserver teilen. Das kann natürlich nicht funktionieren.
 
Hallo,

was hat das bitteschön mit Sturheit zu tun ?
Ich denk zB ja nur mal an die Gameserver von 4Players, die machen das genau so mit VServern und nicht mit Root Servern. Und es funktioniert auch (natürlich sind deren Server mehr auf Gaming ausgelegt, aber was spricht gegen einen Web+Gameserver).

Ausserdem bin ich mir sicher, dass ein VServer auf dem tausende verschiedene Webseiten evtl. mit tausenden Datenbanken und E-Mail-Accounts gleichzeitig laufen nahezu gleich viel (wenn nicht sogar noch mehr) Leistung frisst wie ein CSS/TS-Server mit durchschnittlich 8-14 Gamern die sich Abends mal ein paar Stündchen zusammen setzen um eine gemütliche Partie zu spielen.
Meistens läuft der Server sowieso leer und höchstens im TS ist manchmal durchgegehend was los (und das frisst nun wirklich so gut wie nix).

Ausserdem habe ich nicht umsonst den stärksten und teuersten VServer-Tarif genommen und wie man sieht stößt der VServer eigentlich nirgends an seine Grenzen. Was spricht dann bitteschön noch dagegen ? Wenns ein Public-Server wäre würde ich das ja verstehen, in diesem Fall handelt es sich aber ausschließlich um einen privaten Clanserver...

Der Webserver- und der Gameserver basieren auf verschiedenen Protkollen (Webserver größtenteils TCP, Gameserver größtenteils UDP) und von dem her können sich diese nur schwer in die Haare kriegen zumal der Zugriff auf die Webserverdienste allgemein relativ gering ist. Von geringen Ressourcen kann ich bei meinem Tarif ausserdem nicht gerade sprechen, an sich sollte das reichen.

Wie gesagt stellt das einzige Problem lediglich der zu kleinen UDP-Buffer dar. Leider wollen die Jungs von Netclusive daran nicht einmal gegen Bezahlung etwas ändern.
Deswegen würde ich das gerne irgendwie umgehen und wäre für einen Tipp dankbar !

Mit freundlichen Grüßen,
Thomas
 
Last edited by a moderator:
Hi,

wenn ich mir Deinen UBC so anschaue, hast Du eher ein Problem mit 'numproc' als mit 'dgramrcvbuf', da nur dort in dem Abbild ein Failcount zu sehen ist.

-W
 
Hmmmm...da is was beim kopieren daneben gegangen. Eigentlich sinds beim dgramrcvbuffer exakt 22911.

Habs jetzt auch oben korrigiert.

Das mit dem Prozess-Limit is normal, da ich den CS Server öfter mal neustarten muss kommts du hin und wieder zu stärkerer Auslastung. Stört aber den Rest an sich nicht.

Weitaus schlimmer ist eben der Failcount beim UDP-Buffer :-(
 
Hallo,

Provider die Gameserver anbieten haben in der Regel eine ganz andere Struktur.
Für die meisten Benutzer ist es sehr schwer zu verstehen. Webserver und Gameserver passen einfach nicht zusammen. Ein Apache2 verbraucht auch im Leerlauf ordentlich Ressourcen. Ein CSS Server braucht auch im Leerlauf genug Power.

Im allgemeinen kann man sagen Vserver eignen sich nicht wirklich für Gameserver. Die Gameserver laufen zwar ganz passabel allerdings nicht perfekt. Da der Support dir den Wert ja nicht erhöhen will musst du wohl mit den kleinen Problemen leben.
 
Habs jetzt auf einen "echten" Root verlegt funktioniert vielen Dank für eure Hilfe !

Bitte Thread schließen ich habs eingesehen ;-)

Mit freundlichen Grüßen,
Thomas
 
Last edited by a moderator:
Back
Top