Schlechte FSYNCS/SEC Performance bei Enterprise SSDs, ZFS mirror

Oct 21, 2020
6
1
23
40
Hallo zusammen
Wir nutzen Proxmox auf einem Server von Thomas Krenn mit untenstehenden Specs.
Wir setzen momentan 4 Gitlab-Runner ein und möchten gerne ausbauen. Die IO-Operationen bei Build/Testing/Deployment-Workloads scheinen uns etwas langsam zu sein.
pveperf auf dem einzigen ZFS-Pool scheint das zu bestätigen: 2613.54 FSYNCS/SECOND

Dabei ist ein Pool mit zwei Mirrors aus je zwei Intel SATA SSDs im Einsatz:
4x Intel D3-S4510 3.84TB 6G SATA Read Intensive (1.4DWPD) SSD 2.5" SFF Solid State Disk - SSDSC2KB038T8
Angeschlossen über einen Broadcom HBA 9300-8i SAS-SATA

Bevor wir in die falsche Richtung optimieren, wollte ich hier ein paar Fragen klären:
  1. Ist dieser FSYNC Wert normal?
  2. Lässt sich hier noch etwas per Software-Umkonfiguration optimieren?
  3. Würden andere SSDs signifikant mehr Leistung bringen?
  4. Wenn wir aufrüsten, dann würden wir das wegen der Performance tun. Kapazität reicht momentan: Wie? Mehr gleiche Platten (also die Intel) oder ein Alternativprodukt? Andere Technologie?
  5. Bonus ;): Beim nächsten Server: Worauf sollten wir beim Storage achten um möglichst viele IOPS hinzubekommen?

pve-manager/8.2.3/b4648c690591095f (running kernel: 6.5.11-6-pve)

Bash:
root@pve:~# pveperf
CPU BOGOMIPS:      601607.68
REGEX/SECOND:      3382951
HD SIZE:           5727.89 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     2613.54
DNS EXT:           49.48 ms
DNS INT:           29.64 ms

Bash:
root@pve:~# zpool list
NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
rpool  6.97T  1.30T  5.67T        -         -    45%    18%  1.00x    ONLINE  -

1727162187055.png

1727161908736.png
1727161864912.png
 
Zu den Werten kann ich nix sagen. Die SSDs sind nicht schlecht, allerdings nur SATA und nicht SAS, d.h. sie können nur simplex und nicht duplex übertragen. Wenn die SSDs nicht direkt, sondern über die Backplane am Controller hängen, könnt ihr die Bandbreite optimieren, indem ihr die SSDs auf die Cages verteilt, da jeder Cage sicherlich an einem separatem Controllerport hängt.
 
Danke für den Hinweis. Kann ich das irgendwie per Software prüfen? Wir haben 8 Cages und 4 davon bestückt.
Bash:
root@pve:~# ./sas3ircu list
Avago Technologies SAS3 IR Configuration Utility.
Version 15.00.00.00 (2016.11.21)
Copyright (c) 2009-2016 Avago Technologies. All rights reserved.


         Adapter      Vendor  Device                       SubSys  SubSys
 Index    Type          ID      ID    Pci Address          Ven ID  Dev ID
 -----  ------------  ------  ------  -----------------    ------  ------
   0     SAS3008       1000h   97h    00h:43h:00h:00h      1000h   30e0h
SAS3IRCU: Utility Completed Successfully.
root@pve:~# ./sas3ircu 0 display
Avago Technologies SAS3 IR Configuration Utility.
Version 15.00.00.00 (2016.11.21)
Copyright (c) 2009-2016 Avago Technologies. All rights reserved.

Read configuration has been initiated for controller 0
------------------------------------------------------------------------
Controller information
------------------------------------------------------------------------
  Controller type                         : SAS3008
  BIOS version                            : 8.37.00.00
  Firmware version                        : 16.00.01.00
  Channel description                     : 1 Serial Attached SCSI
  Initiator ID                            : 0
  Maximum physical devices                : 1023
  Concurrent commands supported           : 9856
  Slot                                    : 5
  Segment                                 : 0
  Bus                                     : 67
  Device                                  : 0
  Function                                : 0
  RAID Support                            : No
------------------------------------------------------------------------
IR Volume information
------------------------------------------------------------------------
------------------------------------------------------------------------
Physical device information
------------------------------------------------------------------------
Initiator at ID #0

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 0
  SAS Address                             : 4433221-1-0200-0000
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 3662830/7501476527
  Manufacturer                            : ATA     
  Model Number                            : INTEL SSDSC2KB03
  Firmware Revision                       : 0110
  Serial No                               :
  Unit Serial No(VPD)                     :
  GUID                                    : 55cd2e41520702f9
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 1
  SAS Address                             : 4433221-1-0300-0000
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 3662830/7501476527
  Manufacturer                            : ATA     
  Model Number                            : INTEL SSDSC2KB03
  Firmware Revision                       : 0110
  Serial No                               :
  Unit Serial No(VPD)                     :
  GUID                                    : 55cd2e415206a725
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 2
  SAS Address                             : 4433221-1-0100-0000
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 3662830/7501476527
  Manufacturer                            : ATA     
  Model Number                            : INTEL SSDSC2KB03
  Firmware Revision                       : 0132
  Serial No                               :
  Unit Serial No(VPD)                     :
  GUID                                    : 55cd2e41561d4f52
  Protocol                                : SATA
  Drive Type                              : SATA_SSD

Device is a Hard disk
  Enclosure #                             : 1
  Slot #                                  : 3
  SAS Address                             : 4433221-1-0000-0000
  State                                   : Ready (RDY)
  Size (in MB)/(in sectors)               : 3662830/7501476527
  Manufacturer                            : ATA     
  Model Number                            : INTEL SSDSC2KB03
  Firmware Revision                       : 0132
  Serial No                               :
  Unit Serial No(VPD)                     :
  GUID                                    : 55cd2e41561d6d6a
  Protocol                                : SATA
  Drive Type                              : SATA_SSD
------------------------------------------------------------------------
Enclosure information
------------------------------------------------------------------------
  Enclosure#                              : 1
  Logical ID                              : 500605b0:105c6b30
  Numslots                                : 8
  StartSlot                               : 0
------------------------------------------------------------------------
SAS3IRCU: Command DISPLAY Completed Successfully.
SAS3IRCU: Utility Completed Successfully.
root@pve:~#
 
Nur als weiteren Datenpunkt: ein Ryzen mit einem einzelnen ZFS mirror aus zweimal Intel, SATA3, in einem Mini-PC:
Code:
~# smartctl  -i /dev/sda | grep Model; pveperf
Model Family:     Intel S4510/S4610/S4500/S4600 Series SSDs
Device Model:     INTEL SSDSC2KB019T8
CPU BOGOMIPS:      57494.40
REGEX/SECOND:      1480061
HD SIZE:           996.36 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     2175.53
 
  1. Ist dieser FSYNC Wert normal?
Ja
  1. Lässt sich hier noch etwas per Software-Umkonfiguration optimieren?
Wenig, selbst wenn du die SSDs aufteilst wirst du bei den SATA SSDs nicht viel raus holen können. HBA hat 8 lanes, erste 4 Ports 4 Lanes und zweiten 4 ports das andere Kabel mit 4 Lanes.
  1. Würden andere SSDs signifikant mehr Leistung bringen?
Klar wie schon erwähnt NVMe SSDs, aber da musst du mal gucken welches Gehäuse und Board ihr habt ob du da direkt NVMe stecken kannst.
  1. Wenn wir aufrüsten, dann würden wir das wegen der Performance tun. Kapazität reicht momentan: Wie? Mehr gleiche Platten (also die Intel) oder ein Alternativprodukt? Andere Technologie?
Ob Intel (jetzt Solidigm), Samsung oder Kioxia ist egal, die NVMe haben alle vergleichbare Leistungen.
  1. Bonus ;): Beim nächsten Server: Worauf sollten wir beim Storage achten um möglichst viele IOPS hinzubekommen?
Ich mag lieber Single Socket und natürlich NVMe only Gehäuse.
 
  • Like
Reactions: neuhausf
Ja

Wenig, selbst wenn du die SSDs aufteilst wirst du bei den SATA SSDs nicht viel raus holen können. HBA hat 8 lanes, erste 4 Ports 4 Lanes und zweiten 4 ports das andere Kabel mit 4 Lanes.

Klar wie schon erwähnt NVMe SSDs, aber da musst du mal gucken welches Gehäuse und Board ihr habt ob du da direkt NVMe stecken kannst.

Ob Intel (jetzt Solidigm), Samsung oder Kioxia ist egal, die NVMe haben alle vergleichbare Leistungen.

Ich mag lieber Single Socket und natürlich NVMe only Gehäuse.
Danke für deine ausführliche Antwort. Dann scheint sich der Aufwand nicht mehr zu lohnen, allzu viel Zeit in eine Optimierung der IOPS zu stecken.
Das jetzige Mainboard hat nur zwei M2 Slots: https://www.supermicro.com/en/products/motherboard/H11DSi-NT
NVMe ist also beim nächsten Server gesetzt.
Habt ihr eine Empfehlungen für Firmen hinsichtlich guter Preis/Leistung? Am liebsten mit einer ähnlich simplen Konfiguration wie bei Krenn.
 
Danke für deine ausführliche Antwort. Dann scheint sich der Aufwand nicht mehr zu lohnen, allzu viel Zeit in eine Optimierung der IOPS zu stecken.
Das jetzige Mainboard hat nur zwei M2 Slots: https://www.supermicro.com/en/products/motherboard/H11DSi-NT
NVMe ist also beim nächsten Server gesetzt.
Habt ihr eine Empfehlungen für Firmen hinsichtlich guter Preis/Leistung? Am liebsten mit einer ähnlich simplen Konfiguration wie bei Krenn.
Ich wohne in Norddeutschland und etwas lokaler zu kaufen finde ich besser.
TK ist aber auch nicht schlecht, nur je nach Modell nicht die besten Preise.
 
Nun man kann auch solche Dinge nutzen.

Quad M.2 PCIe Adapterkarte PCI Express 4.0 x16 auf Vierfach NVMe oder AHCI M-Key M.2 SSDs 7,8GBit/s je SSD Bifurkation.


Mit sowas habe ich schon einige HP Server nachgerüstet.
 
Last edited:
  • Like
Reactions: floh8
ich hab als System SSD Samsung drin ohne Raid aktuell

CSS:
Device Model:     SAMSUNG MZ7L3240HCHQ-00A07
CPU BOGOMIPS:      121370.40
REGEX/SECOND:      5202824
HD SIZE:           215.18 GB (/dev/sda1)
BUFFERED READS:    386.24 MB/sec
AVERAGE SEEK TIME: 0.06 ms
FSYNCS/SECOND:     4488.42
DNS EXT:           27.52 ms
DNS INT:           2.12 ms (HOME)

bei meinen Samsung NVME 1TB komme ich im ZFS Raid 10 auf

Code:
Model Number:                       SAMSUNG MZ1L2960HCJR-00A07
CPU BOGOMIPS:      121370.40
REGEX/SECOND:      5144904
HD SIZE:           1043.25 GB (Raid10)
FSYNCS/SECOND:     16689.90
DNS EXT:           27.43 ms
DNS INT:           2.16 ms (HOME)

die sind per pcie Adapter direkt eingesteckt in den Slots bei mir bzw auf dem Board drauf

dann hab ich noch mal 2 Samsung SSD 1TB im Raid 1 für den PBS

Code:
SAMSUNG MZ7KH960HAJR-00005
CPU BOGOMIPS:      121370.40
REGEX/SECOND:      4701990
HD SIZE:           860.40 GB (Raid1/pbs)
FSYNCS/SECOND:     6719.50
DNS EXT:           32.39 ms
DNS INT:           2.17 ms (HOME)
 
Last edited:
ich hab als System SSD Samsung drin ohne Raid aktuell

CSS:
Device Model:     SAMSUNG MZ7L3240HCHQ-00A07
CPU BOGOMIPS:      121370.40
REGEX/SECOND:      5202824
HD SIZE:           215.18 GB (/dev/sda1)
BUFFERED READS:    386.24 MB/sec
AVERAGE SEEK TIME: 0.06 ms
FSYNCS/SECOND:     4488.42
DNS EXT:           27.52 ms
DNS INT:           2.12 ms (HOME)

bei meinen Samsung NVME 1TB komme ich im ZFS Raid 10 auf

Code:
Model Number:                       SAMSUNG MZ1L2960HCJR-00A07
CPU BOGOMIPS:      121370.40
REGEX/SECOND:      5144904
HD SIZE:           1043.25 GB (Raid10)
FSYNCS/SECOND:     16689.90
DNS EXT:           27.43 ms
DNS INT:           2.16 ms (HOME)

die sind per pcie Adapter direkt eingesteckt in den Slots bei mir bzw auf dem Board drauf

dann hab ich noch mal 2 Samsung SSD 1TB im Raid 1 für den PBS

Code:
SAMSUNG MZ7KH960HAJR-00005
CPU BOGOMIPS:      121370.40
REGEX/SECOND:      4701990
HD SIZE:           860.40 GB (Raid1/pbs)
FSYNCS/SECOND:     6719.50
DNS EXT:           32.39 ms
DNS INT:           2.17 ms (HOME)
Für mein Verständnis: Mit ZFS Raid 10 meinst du 4 Platten, zwei Mirrors mit je zwei Platten zu einem Pool zusammengelegt? Welchen PCI-E Adapter hast du verwendet? Welches Mainboard?
Eine 8mal so hohe Performance tönt als Interimslösung verlockend.
 
ich hab solche geholt
https://www.ebay.de/itm/335518975234?_skw=M2+NVMe+SSD+PCI-E+PCI-Express+22110&itmmeta=01J8PS7NYTR01XQ36N9R64KEVD&hash=item4e1e7d4502:g:d0kAAOSwdn9mqy3w&itmprp=enc:AQAJAAABAHoV3kP08IDx+KZ9MfhVJKnn6la1TvrAqKhn9KCdSwtMYdp7W6CDqa20oi0KfEEgj0urMtW6py3GR3K2HB3a+qkKIl8jw47mo44IzucaiUbRdsTMnTM7tbzmhTwiwphzLYhv6pLP4wWruIMmmXzGRlingGeFZmUvoimKR2z+R3bzsGRT38K0Xxh7zloVAkn7MBFJSTkCaF0xueRIB6pS2oqFW5JH4nYHKpzVeJz/akFxL7EDXZwUBtm6RT/sDM623hGN1/BdvBohD9+d7rfounXVIsSteH/oX73cp9yqgmF3PKYYQHVFehjezW0dhi9KvJsfbUHQVi4aZKXP6WTC4fg=|tkp:BFBMzN-e2cVk
da die vier Samsung 22110 länger sind als die normalen nvme die haben meist 2280 als Maaße

960GB Samsung PM9A3 M.2 22110 PCIe 4.0 x4 3D-NAND TLC (MZ1L2960HCJR-00A07)​

Ich hab ein x570 Board mit einem Ryzen 5700g drin daher kann ich keine

Quad M.2 PCIe Adapterkarte PCI Express 4.0 x16 auf Vierfach NVMe​

nehmen da sonst die interne GPU nicht mehr geht und ich keine drei großen PCIe slots habe für ne zusätzliche GPU,
im 2. slot ist mein HBA drin für meine SATA HDDs
 
Last edited:
Also über 1x PCI geht nicht viel drüber.
Ist das PCIe 3 oder 4?
Theoretisch geht da maximal 0,9 GB durch.
 
für intel sata ssds im zfs mirror sind 2600 fsyncs jetzt nicht so grande.

meine s3610 (1.6TB) im mirror lierfern das hier ab:

Code:
root@pve:~# pveperf
CPU BOGOMIPS:      29952.00
REGEX/SECOND:      6293879
HD SIZE:           1210.20 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     4844.94
DNS EXT:           30.10 ms
DNS INT:           0.93 ms (catacombs.lan)

der wert war aber auch schon mal höher (über 6000), aber kernel 6.5 oder 6.8 hat hier etwas den anker ausgeworfen.
 
für intel sata ssds im zfs mirror sind 2600 fsyncs jetzt nicht so grande.

meine s3610 (1.6TB) im mirror lierfern das hier ab:

Code:
root@pve:~# pveperf
CPU BOGOMIPS:      29952.00
REGEX/SECOND:      6293879
HD SIZE:           1210.20 GB (rpool/ROOT/pve-1)
FSYNCS/SECOND:     4844.94
DNS EXT:           30.10 ms
DNS INT:           0.93 ms (catacombs.lan)

der wert war aber auch schon mal höher (über 6000), aber kernel 6.5 oder 6.8 hat hier etwas den anker ausgeworfen.
Deine S3610 sind Mixed Use SSDs und die 4510er Read Intensive. Da deine MU SSDs deutlich mehr Schreibperformance haben, ist das Ergebniss zu erwarten.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!