SSD Read / Write slow VPS Karneval, Besser bei VPS "Normal" ?

  • Ich habe bei meinem Karneval mal wieder yabs laufen lassen. Mit erfreulichem Ergebnis:

    Wenn ich das mit der Messung vom 1. April vergleiche:

    Und alles ohne Neustart.

  • Wie Claudia dir schon hier im Thread schrieb: Deine Server sind bereits migriert. Wenn die Leistungen noch nicht stimmen- -> Messungen im Rettungssystem durchführen und den Support kontaktieren.

    Ich nochmal mit einer Info:


    Der Grund, warum bei meinen Karnevals die Performance nach der Migration zwar besser, aber immer noch nicht berauschend war, lag am Treiber.

    Der war auf noch den Standard scsi (=virtio-scsi) eingestellt. Nachdem ich auf virtio (=virtio-blk) umgestellt habe, hat sich die (fio-)Performance nochmal deutlich verbessert.


    Auf die Idee, das mal auszuprobieren hat mich Claudias Beitrag hier gebracht:

    Das längste Thema - netcup Kundenforum
    Zu meinem 100. Jubiläum in diesem Forum dieser Spaßthread :p Finde ich immer wieder lustig wie schnell man auf 0 kommt. Lustiger ist es aber neben der Zahl…
    forum.netcup.de


    Für die SSDs auf dem neuen Wirtssystem der Karnevals sind die Virtio-Treiber wohl tatsächlich klar besser geeignet.

  • Ich nochmal mit einer Info:

    Der Grund, warum bei meinen Karnevals die Performance nach der Migration zwar besser, aber immer noch nicht berauschend war, lag am Treiber.

    Der war auf noch den Standard scsi (=virtio-scsi) eingestellt. Nachdem ich auf virtio (=virtio-blk) umgestellt habe, hat sich die (fio-)Performance nochmal deutlich verbessert.

    Für die SSDs auf dem neuen Wirtssystem sind die Virtio-Treiber wohl klar besser geeignet.

    Danke für diese Einschätzung, denn da finde ich die "offzielle" Empfehlung dann nicht ok! Ich habe heute einen Server in Betrieb genommen, da war beim Debian 11 Minimal Image der Treiber auf Virtio voreingestellt, was deiner geschilderten Erfahrung nach auch korrekt zu sein scheint. Gleichzeitig muss ich aber bei der Treiberauswahl im SCP lesen "SCSI empfohlen" und wenn ich mit der Maus auf das Fragezeichen gehe "... Bitte nutzen Sie nur die empfohlenen Treiber. ..." Als braver Kunde habe ich also auf SCSI umgestellt, jetzt werde ich das wieder zurückstellen auf Virtio, auch wenn die Virtio Treiber nicht empfohlen sind, wohl aber voreingestellt waren. Und dann schaun mer mal, dann sehn mer scho! Klare und verständliche, korrekte Informationen sehen definitiv anders aus, da sehe ich echten Handlungsbedarf.

  • Ich würde da aber doch nochmal ein Fragezeichen dran setzen wollen. Mir ist es ehrlich gesagt nicht wirklich verständlich, warum jetzt auf einmal virtio schneller sein soll, zumal dann auch so nützliche Funktionen wie fstrim nicht mehr funktionieren (mit virtio-scsi allerdings schon). Also bevor jetzt hier groß migriert wird, würde ich das lieber nochmal genauer untersuchen. Die eingesetzten SSDs auf den Wirtsystemen sollten hier ja auch nicht wirklich von Belang sein, das liegt ja hautpsächlich an der Virtualisierung und der eingesetzten Software. Kommt mir alles sehr komisch vor.

  • Kann ich bei mir auch nur bestätigen, bei allen Servern auf die ich derzeit Zugriff habe (1x VPS 200 G10s, 2x VPS 1000 G9, 1x RS Zimtstern und 1x RS Ostern L OST22), ist Leistung mit dem VIRTIO Treiber, deutlich besser als mit dem SCSI Treiber. (mindestens das doppelte, teils auch mehr als die vierfache Leistung)

  • Siehe Antwort -> Link

    Darum ist beim SCSI Treiber viel langsamer, da komplexer aufgebaut, aber dafür viel moderner.

    Wenn nur Performance erwünscht, dann VIRTIO.

    Das ist auch bei der KVM Umgebung auch völlig normal.

  • Wow ! Danke für den Tipp.
    Das ist aber ein sehr deutlicher Unterscheid;


    SCSI


    VIRTOI


    Selber Server, aber kein Karneval :)

  • Ich denke schon, dass der SCSI-Treiber der empfehlenswertere ist und ich werde auch nur dort auf Virtio umstellen, wo ich die Gefahr sehe, dass die SSD-Performance ansonsten zu schlecht ist, für den Einsatzzweck und es sich entsprechend bemerkbar macht.

    (Beim Karneval ist der Unterschied aber schon eklatant)

  • Welches jetzt die besseren/geeigneteren Treiber sind, das kann ich so ohne Weiteres nicht sagen. Aber die Informationen, die man als Kunde zu sehen bekommt, sind widersprüchlich. Einerseits ist Virtio voreingestellt und es wurde hier im Forum geschrieben, dass die beste Einstellung vom Image abhängt und dass bei neuer Hardware eher SCSI zu bevorzugen sei. Ich weiss jetzt die genaue Formulierung nicht, aber der entsprechende Beitrag wird sich leicht finden lassen, ist noch nicht sehr lange her. Vermutlich steht er sogar hier im Thread :D . Wenn das also so wäre, dass SCSI die korrekte (und auch explizit empfohlene) Einstellung für diesen Server ist, warum ist dann Virtio voreingestellt und nicht SCSI? Der Server ist heute ausgeliefert worden, ich weiss aber natürlich nicht, ob die hier verbauten SSDs, wie unsere hochbegehrten deutschen Marder-Panzer, auch aus den 70er Jahren stammen. Ich hoffe mal nicht. ;)


    Nachdem das Thema letztens aufkam, habe ich mal kurz recherchiert und was ich an Infos gefunden habe sagte im Wesentlichen. "SCSI hat mehr oder bessere Funktionen, Virtio (virtio-blk) die bessere Performance". Wir reden da aber nicht über eine Verdoppelung, höchstens über 10-20% Unterschied in der Performance. Insofern mag die Einstellung tatsächlich die deutliche Steigerung zumindest teilweise erklären, aber solche Tests sind m.E. nicht immer unbedingt besonders praxisnah und ob da mit virtio-blk tatsächlich dann bestimmte Funktionen ganz konkret nicht mehr funktionieren, kann jedenfalls ich auch nicht ausschliessen. Oben wurde ja fstrim bereits angesprochen. Im Moment habe ich jetzt jedenfalls auf die im SCP explizit empfohlene Einstellung Virtio (-blk) zurückgestellt. Falls das jetzt falsch ist, dann sollte man darüber nachdenken, dies nicht als Voreinstellung zu verwenden. Edit: Dass ich das jetzt schon als empfohlen bezeichnet habe, darf als Ausdruck meiner Verwirrung angesichts der widersprüchlichen Informationen/Voreinstellungen angesehen werden ;) Empfohlen ist natürlich SCSI, Virtio nur voreingestellt.

  • nunja ein Performanceboost ist trotzdem nicht weg diskutierbar


    vorher SCSI:


    zu virtio:

    It's me, only me, pure michi 🦆

    RS 1000 SAS G8 | Cyber Quack

    VPS: 50 G7 |B Ostern 2017|200 | Karneval | piko

    WH: SmallEi | Adv17 Family |4000 SE|1000 SE

  • Danke für diese Einschätzung, denn da finde ich die "offzielle" Empfehlung dann nicht ok! Ich habe heute einen Server in Betrieb genommen, da war beim Debian 11 Minimal Image der Treiber auf Virtio voreingestellt, was deiner geschilderten Erfahrung nach auch korrekt zu sein scheint. Gleichzeitig muss ich aber bei der Treiberauswahl im SCP lesen "SCSI empfohlen" und wenn ich mit der Maus auf das Fragezeichen gehe "... Bitte nutzen Sie nur die empfohlenen Treiber. ..." Als braver Kunde habe ich also auf SCSI umgestellt, jetzt werde ich das wieder zurückstellen auf Virtio, auch wenn die Virtio Treiber nicht empfohlen sind, wohl aber voreingestellt waren. Und dann schaun mer mal, dann sehn mer scho! Klare und verständliche, korrekte Informationen sehen definitiv anders aus, da sehe ich echten Handlungsbedarf.

    Hallo zusammen, da meine Antwort im Längsten Thema für Verwirrung gesorgt hat, hier nochmal eine ausführliche Erklärung: SCSI ist ein Standard, welcher von fast allen Betriebssystemen unterstützt wird, da es mit SCSI selten zu Problemen kommt. Virtio benötigt durchaus Treiber, die nicht zwangsläufig in jedem Betriebssystem standardmäßig inkludiert sind. Wenn wir also ein Image mit Virtio ausliefern, dann tun wir das, weil dort sichergestellt ist, dass die Treiber zur Verfügung stehen. Als allgemeine Empfehlung geben wir aber SCSI an, aufgrund der nativen Unterstützung durch fast alle Ebenen. Wenn das Betriebsystem keine Virtio Treiber hat und die Anbindung dann auf Virtio umgestellt wird, kann es sein, dass das System nicht mehr bootet.

  • Hallo zusammen, da meine Antwort im Längsten Thema für Verwirrung gesorgt hat, hier nochmal eine ausführliche Erklärung: SCSI ist ein Standard, welcher von fast allen Betriebssystemen unterstützt wird, da es mit SCSI selten zu Problemen kommt. Virtio benötigt durchaus Treiber, die nicht zwangsläufig in jedem Betriebssystem standardmäßig inkludiert sind. Wenn wir also ein Image mit Virtio ausliefern, dann tun wir das, weil dort sichergestellt ist, dass die Treiber zur Verfügung stehen. Als allgemeine Empfehlung geben wir aber SCSI an, aufgrund der nativen Unterstützung durch fast alle Ebenen. Wenn das Betriebsystem keine Virtio Treiber hat und die Anbindung dann auf Virtio umgestellt wird, kann es sein, dass das System nicht mehr bootet.

    Das klingt doch schon mal besser. Trotzdem sollte man diese Info in irgendeiner Form in den Hilfetext im SCP (Fragezeichen neben Treiber) aufnehmen. Da steht momentan:

    Zitat

    Änderungen am Festplatten Treiber sind gefährlich!

    Im schlimmsten Fall bootet der Server nach einem Reboot nicht mehr. Bitte nutzen sie nur den empfohlenen Treiber, alle anderen speziell SATA und IDE sorgen dafür, dass die Snapshots nicht mehr sauber funktionieren.


    Es ist also ok, die Einstellung so zu belassen, wie das Image ausgeliefert wird, ohne dass man deswegen in Probleme reinläuft, z.B. mit Snapshots? Bei Debian 11 Minimal also Virtio? Ich habe es momentan (wieder) so eingestellt und bisher keine negativen Auswirkungen gesehen, habe allerdings auch noch keinen Snapshot gemacht. Virtio wird im Hilfetext zwar nicht explizit erwähnt, fällt aber unter "alle anderen" Treiber.


    Ich sehe allerdings gerade, dass bei allen meinen anderen Servern SCSI eingestellt ist. Ich kann es nicht beschwören, aber ich bin mir relativ sicher, da zumindest bei meinem zweitneuesten Server (vermutlich bei allen) nie was umgestellt zu haben. Der wurde ebenfalls basierend auf dem Debian 11 Minimal Image aufgebaut, ist aber schon einige Monate her (BF 21), hat sich da seitens netcup seitdem was geändert an der Voreinstellung oder am Image?


    Da es sich doch mehr auf die Performance auszuwirken scheint als ich dachte, würde ich ansonsten dazu tendieren, alle auf Virtio umzustellen. Vorher natürlich ein Backup machen und mal abchecken, ob die Treiber da installiert sind oder sie andernfalls installieren. Verfügbar sollten sie ja sein, da die Server mittlerweile alle auf Debian 11 sind.

  • oder am Image?

    Default werden die Server mit SCSI ausgeliefert. Bei der Installation eines Images wird dann auf Virtio umgestellt.



    ob die Treiber da installiert sind oder sie andernfalls installieren.

    Im Linux Kernel sind die Treiber schon ewig integriert. Nur bei Windows Maschinen könnte es Probleme geben.

    Ansonsten immer in das fstab reingucken.


    Das ist auf jeden Fall eine interessante Änderung, auch Geschwindigkeitstechnisch - evtl. sind die Maschinen jetzt überbuchter oder die IO Sachen werden wegen des Stromverbrauchs anders behandelt.

  • Beide Einstellungen virtio und SCSI sind doch Virtio-Schnittstellen. Einmal virtio-blk und einmal virtio-scsi. Also wird ein System, das keine Virtio-Treiber mitbringt mit beiden Einstellungen nicht laufen.


    Mein Server ist auf SCSI eingestellt und zeigt folgende Ausgabe:

    Einmal editiert, zuletzt von femur () aus folgendem Grund: Beispiel hinzugefügt

  • ... evtl. sind die Maschinen jetzt überbuchter ...

    Kannst du diese Situation mal näher erklären? Denn wenn ich meine virtuelle Festplatte von z.B. 2TB mit dem DD-Befehl zulaufen lasse, müßte ich es ja auch als Kunde mitbekommen, wenn anstelle von 2TB plötzlich nur 500GB genutzt werden können. Oder?

  • Kannst du diese Situation mal näher erklären? Denn wenn ich meine virtuelle Festplatte von z.B. 2TB mit dem DD-Befehl zulaufen lasse, müßte ich es ja auch als Kunde mitbekommen, wenn anstelle von 2TB plötzlich nur 500GB genutzt werden können. Oder?

    Es geht dabei nicht um die Festplattenkapazität, sondern um die Prozessorleistung.

    Du hast keine dedizierte Festplatte, sondern eine virtuelle Festplatte im qcow2 Format.


    Für das Hostsystem ist dies eine offene Datei und dein Server ist ein Prozess, der in diese Datei schreibt - leider nicht mit fread und fwrite Calls, sondern im Falle von SCSI mit SCSI-Befehlen. Diese müssen entsprechend verarbeitet werden um am Ende beim Hostkernel als fwrite Befehle umgesetzt zu werden.


    Im Falle von qemu gibt es mehrere Möglichkeiten. Der Standard Weg ist, dass irgendein qemu Prozess die Daten schreibt.

    Der Prozess kann wechseln und auch auf unterschiedlichen CPU Kernen ausgeführt werden.


    Eine weitere Variante ist die Einrichtung eines IO Threads - hierbei schreibt ein einziger Prozess die Daten auf die Platte. Dieser Prozess kann auch auf unterschiedlichen Kernen ausgeführt werden.

    Generell gilt: bei Virtuellen Servern ist ein vCPU immer ein Prozess. Bei RS bist du mit diesem Prozess alleine auf einem Kern.

    Das muss nicht immer der selbe Kern sein, das ist nur beim Pinning der Fall.


    Hast du z.B. eine 64 Kern CPU, kannst du beispielsweise ohne Überbuchung 6 Server á 10 Kerne einrichten. Dann hast du noch 4 Kerne über.

    Wenn IOThreads aktiviert sind, können sich diese Threads auf den 4 Kernen austoben.


    Dabei beeinflusst natürlich wie viele Kerne dafür zur Verfügung stehen die Geschwindigkeit von IO Operationen.

    virtio-blk hat dabei weniger Code auszuführen - deshalb ist meine Theorie, dass weniger Ressourcen für iothreads zur Verfügung stehen als früher.


    Wie Netcup das genau macht, ist Betriebsgeheimnis - deshalb kann ich nur Mutmaßen.


    Eine andere Theorie: AMD Epyc 7702P Prozessoren sind nur für 1 Sockel Systeme ausgelegt. Die Intel Systeme waren als Multi Sockel Systeme jedoch rentabler.

    Um die virtuellen Maschinen schneller schreiben zu lassen, wurden hier iothreads eingesetzt mit NUMA Affinität auf dem Prozessor, der Zugriff auf den RAID Controller hatte. Das wurde jetzt deaktiviert, weil bei 1 Sockel Systemen es nicht mehr notwendig ist, auf NUMA zu achten.

  • Meines Wissens ist es bis auf das Festplatten-IO bezogen auf Linux und der Datei "fstab" egal, welchen virtuellen Adapter VIRTIO, SCSI, SATA oder IDE man nimmt. Denn man muß nur darauf achten, dass man in der Datei fstab für die Laufwerke anstelle von /dev/vda bzw. /dev/sda die entsprechende UUID=blkid einträgt.

    Danach kann man dann sogar von Adapter VIRTIO zu SCSI oder zu einem Anderen ohne Probleme wechseln.

  • So ein harmloser Thread-Titel, aber was für eine große Wirkung auf meine RS-Server...


    Nach Umstellung auf VIRTIO laufen meine Datenbankupdates 30% schneller :)

    Die SSD-Performance laut fio hat sich verdreifacht.


    Habe kurz die fstab geprüft und einfach im scp den Treiber geändert. Ging problemlos.


    Nochmal vielen Dank Euch allen für den Input. Hätte mich allein nicht getraut, vom empfohlenen SCSI-Standard abzuweichen :thumbup: