Sporadisches high iowait

  • Liebes Netcup Team,


    Ich habe jetzt seit geraumer Zeit einen VPS bei euch und bin auch sehr zufrieden.
    In letzter Zeit hoste ich die Infrastruktur für ein Online game und habe bemerkt, dass jeden Tag zu mancher Zeit die Verbindungen zu allen Nutzern gleichzeitig abbrechen.

    Nach anfänglicher Suche nach einem Netzwerkproblem habe ich vor kurzen bemerkt, dass der Server zu besagter Zeit zu 100% mit IO ausgelastet ist und scheinbar keinerlei IO operationen möglich sind.

    (Der Server ist single threaded. Kein IO => DB und Logging hängt => Client timeout).

    Ich denke ich kann das Problem auf Anwendungsebene teilweise lösen, jedoch deutet dies für mich stark auf irgendein Problem mit dem Hostsystem hin.

    Um das klar zu stellen, die Festplatte ist nicht einfach ausgelastet, sondern es scheinen keine Operationen beendet zu werden, wodurch alle anderen warten müssen.

    Das ganze Dauert etwa 30-60 Sekunden und danach ist wieder alles (mehr oder minder) normal.

    Ich habe ein Paar Screenshots aus meinem Monitoringsystem angehangen, die Zeiten sind GMT+1 und die Daten von heute Nacht (SO->MO).

    Ich habe bereits überprüft ob das Problem durch irgendwelche Prozesse auf meinem VPS hervorgerufen wird (e.g. logrotate, backups, etc) konnte jedoch nichts finden.
    Zudem ist aus den Screenshots klar ersichtlich, dass in der Zeit die Diskaktivität quasi vollständig zum erliegen kommt.

    Mir ist auch bewusst, dass durch die aktuelle Lage vermutlich auch Ihr unterbesetzt seid, aber vllt findet jemand zwischendrin mal ne Minute um das von eurer Seite zu prüfen.

    Für mich sieht es aus als hätte das Storage backend des Hosts (vermutlich irgendein Typ SAN), oder die Verbindung zu selbigen einen Aussetzer.

    Alles andere außer IO funtioniert in der Zeit einwandfrei weiter.

    Falls ihr weitere Informationen braucht (oder andere Zeiten zu denen das Problem aufgetreten ist) einfach fragen.


    Mit freundlichen Grüßen,

    Dominik Thalhammer

  • Was ists denn genau für ein Server?

    Sowas sollte natürlich nie vorkommen, aber bei einem VPS Server hast du zumindest keine garantierte CPU.


    Deshalb sind die auch für Spiele eher ungeeignet...

    Es ist ein RS 1000 SAS G7SEa3 12M

    Ja das ist mir bewusst, aber es ist ja kein richtiger "Game Server" sondern ein Management server (e.g. Nutzerlogin, Auflisten von spielen, clans usw.) nichts was echtzeit fähig sein müsste.
    Allerdings hat das Spiel einen festen Timeout von ~45 sekunden den ich nicht ändern kann und diese Wartezeiten überschreiben diese zum Teil.
    Alles < 10 Sekung "hickup" ist egal.

  • Thalhammer: An deiner Stelle würde ich im kommenden Monat Dezember immer mal wieder in den Adventskalender schauen und schauen ob es mal wider ein entsprechendes Angebot an managed Servern der Generation G9 gibt. Denn Diese sind mittlerweile alle mit recht großen SSD´s ausgestattet.


    Als ich von meinen RS der Generation G8 mit SAS-Platten auf die Generation G9 mit SSD-Platten umgestiegen bin, war der IO-Unterschied wie Tag und Nacht.

  • andreas.

    Tatsächlich habe ich schon länger vor den Server mal wieder zu aktualisieren. Leider müsste ich meine IPv4 Adresse mitnehmen und das ist soweit ich weiß leider nicht möglich.


    Ändert aber nichts am Problem, da die HDD bei weitem nicht ausgelastet ist sonder scheinbar "hängt".

  • Ist das nicht 'n Root-Server ? Zumindest ist RS aktuell 'ne root maschine. Da solltest du wirklich nicht durch externe Faktoren gestört werden.

    Ja und nein. Auch die "Root Server" sind am Ende des Tages eine VM. Der Unterschied is soweit ich das sehe nur, dass du einen Teil des VM Host fest zugesichert bekommst. Ich kann mir das verhalten jedenfalls nicht mal ansatzweise erklären, da es mit keinerlei Crontabs, etc korreliert und die Metriken ja auch zeigen, dass ich HDD quasi "nichts tut".

  • Der Unterschied is soweit ich das sehe nur, dass du einen Teil des VM Host fest zugesichert bekommst.

    Genau das ist der Punkt. Bei den Root-Servern hast du effektiv N "reale" Kerne des eigentlichen Servers, die 1:1 dem virtuellen Server zustehen. Wenn du also 2 Kerne mit je 2GHz hast, bekommst du auch die Leistung, die ein System mit einem 2x2GHz CPU leisten könnte. Beim RAM vermute ich, dass dort kein Memory Ballooning (https://blog.jgriffiths.org/how-does-memory-ballooning-work/) durchgeführt wird. Bei den VPS hingegen bekommst du nur N "virtuelle Kerne". Da ist es egal, wie viele Kerne das Hostsystem, der Hypervisor teilt einfach die Arbeit der insgesamt N virtuellen Kerne (aller virtualisierten Maschienen) auf M reale Kerne, die das Hostsystem wirklich hat, auf. Ebenso wird meines Wissens nach Memory-Ballooning genutzt, wodurch deine VM nur den umbedingt notwendigen Speicher nutzt. Dies führt dazu, dass man in Summe mehr virtuelle Kerne und RAM auf einer Maschiene anbieten kann, als physisch vorhanden sind. Wenn bsp. ich auf einer 32Gb RAM Maschiene mit 8 Kernen 16 virtuelle Maschienen mit je 4Gb RAM und einem CPU-Kern hoste, so kostet mich die einzelne VM nur halb so viel, als wenn ich "nur" die real vorhandenen Ressourcen nutzen würde. Da in der Praxis nicht jeder Server seinen RAM und CPU-Kerne die komplette Zeit vollständig nutzt, kann ich dadurch die VMs so aufteilen, dass die unterliegende Hardware immer zu mind. 70/80% ausgelastet ist.

  • Habe das gleiche Problem mit hohem iowait für etwa 1 Minute. Das passiert etwa 1 mal am Tag, manchmal ein paar Tage nicht.

    Da der Server nicht besonders ausgelastet ist, bemerke ich es nur durch das Monitoring, welches sich über Lücken beschwert.

    Es handelt sich um eine RS Eierkanone von 2018 (E5-2670V3, SAS).

    Es würde mich sehr interessieren, was bei dir rauskommt.

  • Habe das gleiche Problem mit hohem iowait für etwa 1 Minute. Das passiert etwa 1 mal am Tag, manchmal ein paar Tage nicht.

    Da der Server nicht besonders ausgelastet ist, bemerke ich es nur durch das Monitoring, welches sich über Lücken beschwert.

    Es handelt sich um eine RS Eierkanone von 2018 (E5-2670V3, SAS).

    Es würde mich sehr interessieren, was bei dir rauskommt.

    Leider scheinbar nichts.

    Ich habe am Montag Nachmittag noch eine Anfrage gesendet aber bis jetzt keine Antwort.

    Werde wohl versuchen das Problem vorerst auf Anwendungsebene zu lösen und irgendwann dann auf einen SSD Server wechseln in der Hoffnung, dass es das Problem löst.