Messen von IO Performance bzw. IOPS Performance der SSD

  • Wer mal auf seinen Server die IOPS der SSD testen möchte, kann es recht schnell mit folgenden Befehl erreichen.

    Code
    fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test1 --filename=test1 --bs=4k --iodepth=64 --size=128G --readwrite=randrw –rwmixread=75


    Hierbei ist unbedingt darauf zu achten, dass hinter der Option --size= die Dateigröße x 2 der RAM-Größe sein muß, da ansonsten nicht die IOPS der SSD, sondern die IOPS des RAM´s gemessen werden.


    Das Ergebnis kann dann z.B., wie an Hand des Servers mit der Bezeichnung VPS Monster Ei OST20 mit 64GB RAM gezeigt, wie folgt aussehen:


    Was habt ihr denn so für Werte?

  • Ich biete zunächst einen RS 8000 G8 SSD :)



    Ich kann heute im Laufe des Abends evtl. auch noch ein bisschen mehr von anderen Servern liefern. :)

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

    -Max Weber

  • Hierbei ist unbedingt darauf zu achten, dass hinter der Option --size= die Dateigröße x 2 der RAM-Größe sein muß, da ansonsten nicht die IOPS der SSD, sondern die IOPS des RAM´s gemessen werden.

    Macht das nicht schon --direct=1?


    Zitat von man fio

    direct=bool

    If value is true, use non-buffered I/O.


    Bei --rwmixread sollten übrigens double dashes sein :S

    friendly chat by and for customers:

    irc.hackint.org:6697

    #nc-kunden

  • Meine Ergebnisse auf einem RS 2000 G9, hab mit einer 8GiB-Datei getestet.


    ramdisk:

    --direct=0, weil tmpfs kein direct-IO kann.


    SSD mit btrfs und Copy-on-Write (default):


    Denke also nicht, dass man 2x RAM braucht, die Ergebnisse sprechen für sich.


    Ich glaube wenn man viel benchmarkt wird IO auch gedrosselt, ist mir zumindest aufgefallen.

    friendly chat by and for customers:

    irc.hackint.org:6697

    #nc-kunden

  • Denke also nicht, dass man 2x RAM braucht, die Ergebnisse sprechen für sich.

    Als ich es auf meinem RS 8000 G9 noch mal ausgeführt habe, habe ich auch festgestellt, dass die Option --direct=1 schon dafür sorgt, den RAM nicht mit zu nutzen. Siehe folgendes Ergebnis, welches auch so gut aussieht, wie auf dem VPS 8000 G9:


    fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test1 --filename=test1 --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75


  • Hier noch ein Benchmark eines RS Rentier (Adventszeit 2019) während des Produktivbetriebes.

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

    -Max Weber

  • VPS 500 G8

    Code
    fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test1 --filename=test1 --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75
  • Hier mal mein RS 1000 SSD G8...

  • ...und ein VPS 200 SSD G8

  • Hier noch ein RS 2000 SSD G8:


    und ein VPS 200 SSD G8:


    und ein VPS Ostern B 2017, der mit 100GB HDD kam und selbst bei Befehlen wie ls teilweise Schluckauf zeigt:

    Code
    fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test1 --filename=test1 --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75
    test1: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
    fio-3.1
    Starting 1 process
    fio: job startup hung? exiting.
    fio: 1 job failed to start
    
    fio: terminating on signal 15

    ^^

    Er ist wirklich brutalst langsam, aber für Backups ausreichend. Selbst ein lsb_release -a dauert ohne Cache erstmal 5 Sekunden.



    Eine kleine Tabelle mit den bisherigen Werten hier im Thread:



    Server Produkt
    IOPS Read
    BW Read
    IOPS Write
    BW Write MB/s
    VPS Monster Ei OST20
    andreas.
    57000 234 MB/s
    19000 78 MB/s
    RS 8000 G8 SSD
    whoami0501
    25800 106 MB/s
    8600 35 MB/s
    RS 2000 G9 (RAM Disk)
    VVV
    352000 1444 MB/s
    118000 482 MB/s
    RS 2000 G9
    VVV
    42400 174 MB/s
    14200 58 MB/s
    RS Rentier 2019
    whoami0501
    26100 107 MB/s 8700 36 MB/s
    VPS 500 G8 (SSD?)
    customer
    19400 80 MB/s
    6500 27 MB/s
    RS 1000 G8 SSD
    rerdmann
    28200 115 MB/s
    9400 39 MB/s
    VPS 200 G8 SSD
    rerdmann
    12900 53 MB/s
    4300 18 MB/s
    RS 2000 G8 SSD
    Valkyrie
    29800 122 MB/s
    10000 41 MB/s
    VPS 200 G8 SSD
    Valkyrie
    16200 67 MB/s 5400 22 MB/s
    VPS Ostern B 2017 HDD
    Valkyrie
    error error error error



    EDIT: Irgendwie dachte ich, dass man bei den Foren Tabellen sortieren kann :(

  • Hier noch mein VPS 2000 G8:

  • Den Test für den VPS Karneval 2020 habe ich abgebrochen, während des Tests wurde mir eine restliche Testlaufzeit von ca. 2 Stunden angezeigt (Ubuntu 20.04, frisch aufgesetzt, Netcup Minimal-ISO). Es wäre super, wenn noch jemand sein Ergebnis zu dem Angebot posten könnte. Vielleicht habe ich da eine lahme Ente erwischt...

  • Bei mir dümpelt es auch nur so vor sich her...

    Hab den Test auch abgebrochen. Wird ja wohl nicht besser werden.


    VPS Eierpower 1 Ostern 2019

    Festplattenverbund (Optane™ Cache):750 GB SSD-Performance

    Code
    # fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test1 --filename=test1 --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75
    test1: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
    fio-3.16
    Starting 1 process
    test1: Laying out IO file (1 file / 4096MiB)
    Jobs: 1 (f=1): [m(1)][11.6%][r=860KiB/s,w=244KiB/s][r=215,w=61 IOPS][eta 01h:04m:29s]

    Das kann ja eigentlich nicht sein.. So langsam ist doch keine SSD (Performance) oder?

  • Den Test für den VPS Karneval 2020 habe ich abgebrochen, während des Tests wurde mir eine restliche Testlaufzeit von ca. 2 Stunden angezeigt (Ubuntu 20.04, frisch aufgesetzt, Netcup Minimal-ISO).

    Bei mir dümpelt es auch nur so vor sich her...

    Hab den Test auch abgebrochen. Wird ja wohl nicht besser werden.

    Wenn ich mir die Beiträge im Forum z.Zt. so ansehe, dann wird es wohl einfach nur so sein, dass gerade alle auf euren Hostmaschinen gleichzeitig am Testen sind. ^^

  • Ihr müßt den Befehl für HDD´s wie folgt ausführen:


    fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test1 --filename=test1 --bs=16k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75

    Auf meinem VPS mit HDD und der Produktbezeichnung VPS 2000 G8 Plus hat es ca. 5 Minuten gedauert.

  • Die Blocksize zu ändern macht bei mir keinen Unterschied.


    Ich habe es doch noch auf dem VPS Ostern B 2017 zum laufen bekommen. Das Ding hat ja nur 512MB RAM und warum auch immer hab ich keinen Swap eingerichtet gehabt. Ich musste es zudem mit --runtime=60 --time_based begrenzen, weil sonst hätte es gefühlt unendlich lange gedauert.


    Jetzt weiß ich aber auch wieso die Maschine so brutalst langsam ist...

    Code
    read: IOPS=12, BW=207KiB/s (212kB/s)(6784KiB/32705msec)
       bw (  KiB/s): min=   32, max=  705, per=100.00%, avg=227.20, stdev=167.69, samples=59
       iops        : min=    2, max=   44, avg=14.15, stdev=10.44, samples=59
      write: IOPS=4, BW=73.4KiB/s (75.1kB/s)(2400KiB/32705msec)
       bw (  KiB/s): min=   32, max=  288, per=100.00%, avg=101.38, stdev=74.63, samples=47
       iops        : min=    2, max=   18, avg= 6.28, stdev= 4.60, samples=47


    Genau so fühlt er sich auch an ^^ Aber bei 1€ im Monat für 2 Kerne und 100GB Speicher... das ist nicht mal mehr ein Viertel Döner.