VPS 200: Performance massiv eingebrochen

  • Hallo zusammen!


    Ich habe einen VPS-200 G8, auf dem ich eine Asterisk-PBX betreibe. Seit April klappt dies im Dauerbetrieb selbst mit 10 Leuten ohne Probleme.

    Bis heute morgen... denn da sprang die CPU-Last des Asterisk-Prozesses auf 100%.


    cpu-auslastung-01.png

    cpu-auslastung-02.png


    Es wurden keinerlei Updates durchgeführt. Auch der Rücksprung auf einen Snapshot hat das Problem nicht behoben.

    Kürzlich wurde die KVM-Software offenbar aktualisiert. Ich habe den VPS daher mal angehalten und neu gestartet. Leider wurde das Problem dadurch auch nicht behoben.

    Es sind keine Logfiles vollgelaufen, auch ein System-Upgrade (Debian) und ein Up- und Downgrade von Asterisk selbst hat nichts gebracht.


    Hat jemand eine Idee, was plötzlich passiert sein könnte? Mir kommt es so vor, als wurde meine CPU-Performance plötzlich "beschnitten".


    Beste Grüße

    Tobias

  • Schau als erstes mal auf dem System nach, ob du dort etwas siehst (Systemauslastung, z.B. via htop, iotop, etc.). Der grobe Überblick im SCP hilft dir hier nicht wirklich. Sind es bestimmte Prozesse, die für die Auslastung sorgen? Hast du hohen steal bzw. iowait?


    Ansonsten kannst du auch mal kurz einen Benchmark mit "sysbench" laufen lassen. Dann könnten wir mal schauen, ob die Werte mit anderen Kunden vergleichbar sind. Dazu müsstest du aber die Dienste vorher mal abschalten (am besten sogar aus dem Rettungssystem heraus ausführen).

  • Danke für deine Antwort.


    Es ist definitiv einer der Asterisk-Threads bei 100%, sobald ein Telefon gestartet wird. Alles andere dümpelt gegen Null. Der grobe SCP-Überblick sollte nur zeigen, dass das absolut nie der Fall war - die Auslastung war, trotz starker Nutzung, nur minimal. Der VPS 200 ist mehr als ausreichend normalerweise (andere lassen Asterisk ja auf dem RPi laufen).


    Bitte nenne mir noch eure Wunsch-Einstellungen für sysbench. Bislang ging ich davon aus, dass man den steal nur korrekt bestimmen kann, wenn man von mehreren Systemen auf dem gleichen Host "misst".


    Code
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               1,86    0,00    1,99    1,52    2,78   91,84


    So sieht's aus, während ein Telefonat geführt wird: htop.png

  • Ist bei einem VPS schwer zu sagen.. letzte offizielle Aussage die ich dazu fand:


    Eine Stealtime von 34% auf einem Root-Server ist allerdings deutlich zu hoch. Bei einem VPS-Produkt kann dieses allerdings durchaus der Fall sein.

    Das bezieht sich aber primär auf RS. VPS werden nur am Rande mit höheren Stealwerten erwähnt. Im Zweifel kann dir das der Support ggf. genauer erläutern. :)

  • Fast 50 Prozent Steal klingt mir schon echt hoch...

    Wenn du schnell das Programm 'bc' installierst kannst du einfach Pi auf ein paar tausend Stellen berechnen als Benchmark:

    Code
    time echo "scale=5000; a(1)*4" | bc -l > /dev/null

    Was kommt da raus?

    Bei meinem Storage Server (sollte grob mit nem VPS vergleichbar sein) braucht das ganze 31 Sekunden (real).

  • Sieht für mich relativ okay aus. Viel schneller ist mein Server auch nicht.

    Trotzdem würd ich wegen dem Steal vielleicht mal nachfragen. Ich hab nur nen steal von 3... aber bei den Storageservern wird halt auch selten viel los sein.


    Auch die Tatsache dass das Teil wirklich auf 100% CPU Last peakt finde ich verwunderlich. 100% CPU Last sollte eigentlich ein Programm nie haben. Außer es macht wirklich was CPU intensives, und das ist ja Telefonie nicht unbedingt... Denke da sollte öfter auch iowait (netzwerk) dabei sein...

  • Ich habe das Ding ja nun schon mehrere Monate wg. Corona wirklich mit 10 Leuten oft gleichzeitig am Laufen. CPU war vielleicht bei 5-7% maximal, wenn alle Leitungen rein & raus liefen. Seit heute Morgen: Deadlock. Netzwerk war im Verhältnis auch lächerlich - aber da gibt's keinen Peak.


    Entweder gibt's in Asterisk eine Timebomb oder irgendwas stimmt am Host nicht. Die Asterisk-Leute haben jedoch noch nichts bemerkt.


    Auto-Systemupdates habe ich auch nicht. Ich habe echt keine Ahnung, was los sein könnte. Muss wohl einen anderen Server dazu mieten und das System neu aufsetzen bis Montag.

  • Wenn das OS aktuell genug ist kannst du mal mit Profiling oder bpftrace reingucken was so los ist.

    Ich würde während der Last mal das hier probieren:

    Code
    perf record -F 99 -ag -- sleep 10


    Die Daten kannst du dann mit 'perf report' ansehen...

    Vielleicht stechen ein paar auffällige Funktionsnamen hervor.

  • Muss mal gucken, ob ich Flamegraphs woanders installieren kann.


    Nein, Speicherverbrauch ist vollkommen im Rahmen (127 MB). Allerdings wirft mit strace auf den Thread Folgendes aus:


  • Nach Rücksprache mit den Asterisk-Entwicklern könnte der kürzliche Wechsel (das Update) des Hypervisors mit meinen Problemen zu tun haben.


    Leider habe ich bislang noch keine Antwort von Netcup auf mein Ticket bekommen. Welche Wartezeit ist hier üblich?

  • Nach Rücksprache mit den Asterisk-Entwicklern könnte der kürzliche Wechsel (das Update) des Hypervisors mit meinen Problemen zu tun haben.


    Leider habe ich bislang noch keine Antwort von Netcup auf mein Ticket bekommen. Welche Wartezeit ist hier üblich?

    Nunja - am selben Tag kommt i.d.R. unter der Woche immer eine Reaktion, aber sobald das irgendwo in Richtung Second Level oder tiefere Technik geht, dann dauert das durchaus mal 1-2 Tage.

    "Denn der radikalste Zweifel ist der Vater der Erkenntnis."

    -Max Weber

  • Gute Nachrichten: Ich wurde auf ein anderes Wirtssystem geschoben und habe sicherheitshalber nochmal jede Config-Datei aus dem Backup eingespielt (diese hatte ich aber nie verändert)


    Jetzt geht alles wieder. Vielleicht ja nur ein Bit-Flip :D


    Danke an alle :)