CSVFS poor performance

    • Offizieller Beitrag

    Moin Moin,

    ich bin immer noch am rätseln, ob die performance (disk) von meinem Hyper-V Cluster normal langsam ist oder ob ich da was verkonfiguriert habe.

    Hintergrund ich habe einen Storageserver (ISCSI) und 3 Hyper-V Clusternodes im Failoverbetrieb. D.h. alle haben auf C:\ClusterStorage einen gemeinsamen Bereich für die Virtuellen Maschinen.

    Funktional ist alles in Ordnung nur kommt mir die Diskperformance immer noch recht schlecht vor.

    Direct auf dem Fileserver (ist ein SSD PCIe drive mit 2TB NTFS) auf dem die VMs ghostet sind. Eine klare Aussage ob die besser reFS formatiert sein sollten, konnte ich bisher nicht finden, mal so mal so...

    Via SMB Zugriff:

    aber via CSVFS auf dem gleichen drive (oben via direct und SMB :(

    Wahnsinnig hohe latenzzeiten (16ms CSVFS contra 0.6 SMB contra 0.3ms direct) und Transferraten von 15 zu 445 zu 906 direct.

    ISCSI das Problem? oder NTFS als CSVFS "host"? Werde wohl mal als nächstes eine VHDX ohne CSVFS testen - aber wenn jemand eine spontane Idee hat wie man so ein "Problem" angeht oder was für Performance bei CSVFS überhaupt erreichbar ist - her damit.

    ISCSI performance - auf den selben Testrechnern und selben disks. Also eine ISCSI disk auf e: gemounted mit NTFS als FS.

    OK also ISCSIist schon mal deutlich langsamer als SMB aber immer noch faktoren schneller als CSVFS über ISCSI. Geht da wirklich nochmals Faktor 5-10 verloren?

    Andererseits hätte ich ISCSI ähnlich erwartet wie SMB - man merkt ich habe da echt noch keine Erfahrung :( Und nein MPIO habe ich nocht nicht konfiguriert.

    Man findet ja nicht so viele einfach zu vergleichende Werte (zumindest ich nicht) aber einen habe ich zumidnest:

     

    Also 701/0.2 direct und 371/0.4 ISCSI also ca. Faktor 2, das ist ja schon mal 5 mal besser al mein Faktor 10. D.h. ich werde wohl als erstes mal nach ISCSI performance schauen. Wobei der Vergleich etwas hinkt da Starwind verwendet und ich ja auch noch eine VHDX dazwischen habe... Trotzdem kommt mit x10 zu hoch vor oder?

    Nachtrag - mal MPIO installiert und auf dem Testclient enabled.

    Performance mehr als verdoppelt - Zufall (hatte wegen der Konfig ja auch den Server neustarten müssen)? Ich werde es mal später in der Woche nochmals testen. Verdoppelung scheint mir sinnvoll, da jetzt ein zweiter 10G Switch mit genutzt werden "könnte".


    ------------------

    Paar seitenfacts: SMB Direct mode an? - ja es ist. Jumbo Frames ja sin auf 9014 ping -f geht bis nahe an 9k ohne fragmentation.

    Ping /Jumbo: 5.62 ist der Fileserver:

    Code
    PS C:\Program Files\DiskSpd\amd64> ping -f -l  8972 192.168.5.62
    
    Pinging 192.168.5.62 with 8972 bytes of data:
    Reply from 192.168.5.62: bytes=8972 time<1ms TTL=128
    Reply from 192.168.5.62: bytes=8972 time<1ms TTL=128

    Ja nicht ganz 9000 8972 ist max was mit den Hyper-V Nics einstellbar ist.

    Directmode:

    • Offizieller Beitrag
    Code
    Total IO
    thread |       bytes     |     I/Os     |    MiB/s   |  I/O per s |  AvgLat  | LatStdDev |  file
    -----------------------------------------------------------------------------------------------------
    0 |           4037304320 |       492835 |      49.55 |    6342.22 |    1.260 |     0.732 | C:\ClusterStorage\Volume5\Test.dat (16GiB)
    1 |           4737794048 |       578344 |      58.15 |    7442.63 |    1.074 |     0.604 | C:\ClusterStorage\Volume5\Test.dat (16GiB)
    2 |           4767113216 |       581923 |      58.51 |    7488.69 |    1.068 |     0.563 | C:\ClusterStorage\Volume5\Test.dat (16GiB)
    3 |           4740177920 |       578635 |      58.17 |    7446.37 |    1.074 |     0.649 | C:\ClusterStorage\Volume5\Test.dat (16GiB)
    -----------------------------------------------------------------------------------------------------
    total:       18282389504 |      2231737 |     224.37 |   28719.91 |    1.113 |     0.641

    Jetzt hatte ich gerade obige Werte, also deutlich deutlich besser. Mir ist noch nicht ganz klar unter welchen Umständen die Performance mal sehr gut und mal miserabel ist. Evtl. hängt es noch mit dem "Master" Node für die entsprechende Disk zusammen - muss ich noch ein Auschlussverfahren ansetzen.

    obige Werte wurde auf HyperV-Two gemessen.

    • Offizieller Beitrag

    Mal ein kleiner Nachtrag zu MultiIOPath unter windows für die Praxis einrichten. Ich habe ja 2 10G Switches die alle Server verbinden. Einen eigentlich dediziert für Blockdevicetraffic (also ISCS) und einen für LAN Traffic. das LAN Switch wird kaum genutzt von daher macht es sinn beide zu nutzen um ISCSI Traffic übertragen zu können und die VMs zu beschleunigen. Den kleinen Impact aufs LAN kann ich verschmerzen. Was muss man also tun.

    1. MPIO Windows Server Feature installieren.
    2. ISCSI Verbindungen mit multiple sessions erstellen
         
    3. Im MPIO iSCSI disks hinzufügen (und reboot)

      Häkchen setzen und add drücken
    4. Nach dem reboot solltet Ihr Im Diskmanager folgendes sehen:

    Das ist es schon (hoffe ich).

    Ingesamt scheint iSCSI unter Windows immer noch eher buggy was die Admingeschichten angeht.

    Z.B. will mit das mit den verschiedenen Subnetzen (0 und 5) nicht einleuchten. Ich habe nat. nur passende IPs eingerichtet, trotzdem würfelt er 5 und 0 Netz durcheinander. Auch der iSCS Server will ab und zu rebootet werden wenn man umkonfiguriert (auf der Client seite) - selten aber passiert. Also wenn es mal komplett klemmt einfach alles neustarten :(

Jetzt mitmachen!

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