Jump to content

Hi All,

 

I'm at my wit's end. 🙂
My PM9A3 drives aren't performing as I expected when used with ZFS.
But I have no idea where to look to fix this problem anymore.
Can someone please point me in the right direction?
 

Hardware:

  • OS: ProxMox 9.1.6

  • Asus RS700-E12-RS12U/2KW/12N

  • CPU(s) 96 x Intel(R) Xeon(R) 6520P (2 Sockets)

  • 8x Samsung DC PM9A3, 960GB (ZFS RAID10)

  • 1024 Memory

Spoiler

root@PVE-A-00:~# zpool status -v VM-DISK
  pool: VM-DISK
 state: ONLINE
config:

        NAME                                                        STATE     READ WRITE CKSUM
        VM-DISK                                                     ONLINE       0     0     0
          mirror-0                                                  ONLINE       0     0     0
            nvme-eui.36344630598095970025384e00000001-part1         ONLINE       0     0     0
            nvme-eui.36344630598095390025384e00000001-part1         ONLINE       0     0     0
          mirror-1                                                  ONLINE       0     0     0
            nvme-eui.36344630598095560025384e00000001-part1         ONLINE       0     0     0
            nvme-SAMSUNG_MZQL2960HCJR-00A07_S64FNNRY704268_1-part1  ONLINE       0     0     0
          mirror-2                                                  ONLINE       0     0     0
            nvme-eui.36344630598095750025384e00000001-part1         ONLINE       0     0     0
            nvme-eui.36344630598095960025384e00000001-part1         ONLINE       0     0     0
          mirror-3                                                  ONLINE       0     0     0
            nvme-eui.36344652597042750025384e00000001-part1         ONLINE       0     0     0
            nvme-eui.36344630598095690025384e00000001-part1         ONLINE       0     0     0

errors: No known data errors

 


root@PVE-A-00:~# zpool get all VM-DISK
NAME     PROPERTY                       VALUE                          SOURCE
VM-DISK  size                           3.47T                          -
VM-DISK  capacity                       2%                             -
VM-DISK  altroot                        -                              default
VM-DISK  health                         ONLINE                         -
VM-DISK  guid                           4689787514115799474            -
VM-DISK  version                        -                              default
VM-DISK  bootfs                         -                              default
VM-DISK  delegation                     on                             default
VM-DISK  autoreplace                    off                            default
VM-DISK  cachefile                      none                           local
VM-DISK  failmode                       wait                           default
VM-DISK  listsnapshots                  off                            default
VM-DISK  autoexpand                     off                            default
VM-DISK  dedupratio                     1.00x                          -
VM-DISK  free                           3.40T                          -
VM-DISK  allocated                      72.0G                          -
VM-DISK  readonly                       off                            -
VM-DISK  ashift                         12                             local
VM-DISK  comment                        -                              default
VM-DISK  expandsize                     -                              -
VM-DISK  freeing                        0                              -
VM-DISK  fragmentation                  0%                             -
VM-DISK  leaked                         0                              -
VM-DISK  multihost                      off                            default
VM-DISK  checkpoint                     -                              -
VM-DISK  load_guid                      9233070055463105183            -
VM-DISK  autotrim                       on                             local
VM-DISK  compatibility                  off                            default
VM-DISK  bcloneused                     0                              -
VM-DISK  bclonesaved                    0                              -
VM-DISK  bcloneratio                    1.00x                          -
VM-DISK  dedup_table_size               0                              -
VM-DISK  dedup_table_quota              auto                           default
VM-DISK  last_scrubbed_txg              0                              -
VM-DISK  feature@async_destroy          enabled                        local
VM-DISK  feature@empty_bpobj            active                         local
VM-DISK  feature@lz4_compress           active                         local
VM-DISK  feature@multi_vdev_crash_dump  enabled                        local
VM-DISK  feature@spacemap_histogram     active                         local
VM-DISK  feature@enabled_txg            active                         local
VM-DISK  feature@hole_birth             active                         local
VM-DISK  feature@extensible_dataset     active                         local
VM-DISK  feature@embedded_data          active                         local
VM-DISK  feature@bookmarks              enabled                        local
VM-DISK  feature@filesystem_limits      enabled                        local
VM-DISK  feature@large_blocks           enabled                        local
VM-DISK  feature@large_dnode            enabled                        local
VM-DISK  feature@sha512                 enabled                        local
VM-DISK  feature@skein                  enabled                        local
VM-DISK  feature@edonr                  enabled                        local
VM-DISK  feature@userobj_accounting     active                         local
VM-DISK  feature@encryption             enabled                        local
VM-DISK  feature@project_quota          active                         local
VM-DISK  feature@device_removal         enabled                        local
VM-DISK  feature@obsolete_counts        enabled                        local
VM-DISK  feature@zpool_checkpoint       enabled                        local
VM-DISK  feature@spacemap_v2            active                         local
VM-DISK  feature@allocation_classes     enabled                        local
VM-DISK  feature@resilver_defer         enabled                        local
VM-DISK  feature@bookmark_v2            enabled                        local
VM-DISK  feature@redaction_bookmarks    enabled                        local
VM-DISK  feature@redacted_datasets      enabled                        local
VM-DISK  feature@bookmark_written       enabled                        local
VM-DISK  feature@log_spacemap           active                         local
VM-DISK  feature@livelist               enabled                        local
VM-DISK  feature@device_rebuild         enabled                        local
VM-DISK  feature@zstd_compress          enabled                        local
VM-DISK  feature@draid                  enabled                        local
VM-DISK  feature@zilsaxattr             active                         local
VM-DISK  feature@head_errlog            active                         local
VM-DISK  feature@blake3                 enabled                        local
VM-DISK  feature@block_cloning          enabled                        local
VM-DISK  feature@vdev_zaps_v2           active                         local
VM-DISK  feature@redaction_list_spill   enabled                        local
VM-DISK  feature@raidz_expansion        enabled                        local
VM-DISK  feature@fast_dedup             enabled                        local
VM-DISK  feature@longname               enabled                        local
VM-DISK  feature@large_microzap         enabled                        local
VM-DISK  feature@dynamic_gang_header    disabled                       local
VM-DISK  feature@block_cloning_endian   enabled                        local
VM-DISK  feature@physical_rewrite       enabled                        local

 


root@PVE-A-00:~# zfs get all VM-DISK
NAME     PROPERTY                VALUE                   SOURCE
VM-DISK  type                    filesystem              -
VM-DISK  creation                Fri Mar 13 17:59 2026   -
VM-DISK  used                    257G                    -
VM-DISK  available               3.11T                   -
VM-DISK  referenced              589M                    -
VM-DISK  compressratio           1.27x                   -
VM-DISK  mounted                 yes                     -
VM-DISK  quota                   none                    default
VM-DISK  reservation             none                    default
VM-DISK  recordsize              128K                    default
VM-DISK  mountpoint              /VM-DISK                default
VM-DISK  sharenfs                off                     default
VM-DISK  checksum                on                      default
VM-DISK  compression             lz4                     local
VM-DISK  atime                   on                      default
VM-DISK  devices                 on                      default
VM-DISK  exec                    on                      default
VM-DISK  setuid                  on                      default
VM-DISK  readonly                off                     default
VM-DISK  zoned                   off                     default
VM-DISK  snapdir                 hidden                  default
VM-DISK  aclmode                 discard                 default
VM-DISK  aclinherit              restricted              default
VM-DISK  createtxg               1                       -
VM-DISK  canmount                on                      default
VM-DISK  xattr                   sa                      default
VM-DISK  copies                  1                       default
VM-DISK  version                 5                       -
VM-DISK  utf8only                off                     -
VM-DISK  normalization           none                    -
VM-DISK  casesensitivity         sensitive               -
VM-DISK  vscan                   off                     default
VM-DISK  nbmand                  off                     default
VM-DISK  sharesmb                off                     default
VM-DISK  refquota                none                    default
VM-DISK  refreservation          none                    default
VM-DISK  guid                    4587334286605940511     -
VM-DISK  primarycache            all                     default
VM-DISK  secondarycache          all                     default
VM-DISK  usedbysnapshots         0B                      -
VM-DISK  usedbydataset           589M                    -
VM-DISK  usedbychildren          256G                    -
VM-DISK  usedbyrefreservation    0B                      -
VM-DISK  logbias                 latency                 default
VM-DISK  objsetid                54                      -
VM-DISK  dedup                   off                     default
VM-DISK  mlslabel                none                    default
VM-DISK  sync                    disabled                local
VM-DISK  dnodesize               legacy                  default
VM-DISK  refcompressratio        13.06x                  -
VM-DISK  written                 589M                    -
VM-DISK  logicalused             91.6G                   -
VM-DISK  logicalreferenced       7.48G                   -
VM-DISK  volmode                 default                 default
VM-DISK  filesystem_limit        none                    default
VM-DISK  snapshot_limit          none                    default
VM-DISK  filesystem_count        none                    default
VM-DISK  snapshot_count          none                    default
VM-DISK  snapdev                 hidden                  default
VM-DISK  acltype                 off                     default
VM-DISK  context                 none                    default
VM-DISK  fscontext               none                    default
VM-DISK  defcontext              none                    default
VM-DISK  rootcontext             none                    default
VM-DISK  relatime                on                      default
VM-DISK  redundant_metadata      all                     default
VM-DISK  overlay                 on                      default
VM-DISK  encryption              off                     default
VM-DISK  keylocation             none                    default
VM-DISK  keyformat               none                    default
VM-DISK  pbkdf2iters             0                       default
VM-DISK  special_small_blocks    0                       default
VM-DISK  prefetch                all                     default
VM-DISK  direct                  disabled                local
VM-DISK  longname                off                     default
VM-DISK  defaultuserquota        0                       -
VM-DISK  defaultgroupquota       0                       -
VM-DISK  defaultprojectquota     0                       -
VM-DISK  defaultuserobjquota     0                       -
VM-DISK  defaultgroupobjquota    0                       -
VM-DISK  defaultprojectobjquota  0                       -

 


root@PVE-A-00:~# uname -r
6.17.13-2-pve

 


root@PVE-A-00:~# cat /sys/block/nvme*/queue/scheduler
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 
[none] mq-deadline 

 


root@PVE-A-00:~# cat /sys/block/nvme*/queue/nr_requests
1023
1023
1023
1023
1023
1023
1023
1023
1023
1023
1023
1023

 


root@PVE-A-00:~# cat /sys/block/nvme*/queue/read_ahead_kb
256
256
256
128 (OS Disk)
128 (OS Disk)
256
256
256
256
256
256
256

 


root@PVE-A-00:~# pveversion -v
proxmox-ve: 9.1.0 (running kernel: 6.17.13-2-pve)
pve-manager: 9.1.6 (running version: 9.1.6/71482d1833ded40a)
proxmox-kernel-helper: 9.0.4
proxmox-kernel-6.17: 6.17.13-2
proxmox-kernel-6.17.13-2-pve-signed: 6.17.13-2
proxmox-kernel-6.17.2-1-pve-signed: 6.17.2-1
ceph-fuse: 19.2.3-pve2
corosync: 3.1.10-pve1
criu: 4.1.1-1
frr-pythontools: 10.4.1-1+pve1
ifupdown2: 3.3.0-1+pmx12
intel-microcode: 3.20251111.1~deb13u1
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libproxmox-acme-perl: 1.7.0
libproxmox-backup-qemu0: 2.0.2
libproxmox-rs-perl: 0.4.1
libpve-access-control: 9.0.5
libpve-apiclient-perl: 3.4.2
libpve-cluster-api-perl: 9.0.7
libpve-cluster-perl: 9.0.7
libpve-common-perl: 9.1.7
libpve-guest-common-perl: 6.0.2
libpve-http-server-perl: 6.0.5
libpve-network-perl: 1.2.5
libpve-rs-perl: 0.11.4
libpve-storage-perl: 9.1.0
libspice-server1: 0.15.2-1+b1
lvm2: 2.03.31-2+pmx1
lxc-pve: 6.0.5-4
lxcfs: 6.0.4-pve1
novnc-pve: 1.6.0-3
proxmox-backup-client: 4.1.4-1
proxmox-backup-file-restore: 4.1.4-1
proxmox-backup-restore-image: 1.0.0
proxmox-firewall: 1.2.1
proxmox-kernel-helper: 9.0.4
proxmox-mail-forward: 1.0.2
proxmox-mini-journalreader: 1.6
proxmox-offline-mirror-helper: 0.7.3
proxmox-widget-toolkit: 5.1.8
pve-cluster: 9.0.7
pve-container: 6.1.2
pve-docs: 9.1.2
pve-edk2-firmware: 4.2025.05-2
pve-esxi-import-tools: 1.0.1
pve-firewall: 6.0.4
pve-firmware: 3.18-1
pve-ha-manager: 5.1.1
pve-i18n: 3.6.6
pve-qemu-kvm: 10.1.2-7
pve-xtermjs: 5.5.0-3
qemu-server: 9.1.4
smartmontools: 7.4-pve1
spiceterm: 3.4.1
swtpm: 0.8.0+pve3
vncterm: 1.9.1
zfsutils-linux: 2.4.0-pve1

 


root@PVE-A-00:~# cat /sys/module/zfs/parameters/zfs_arc_max
8589934592

 


root@PVE-A-00:~# cat /sys/module/zfs/parameters/zfs_arc_min
2147483648

root@PVE-A-00:~# zfs set sync=always VM-DISK
root@PVE-A-00:~# zfs set direct=always VM-DISK
root@PVE-A-00:~# pveperf /VM-DISK
CPU BOGOMIPS: 460800.00
REGEX/SECOND: 7054854
HD SIZE: 3186.04 GB (VM-DISK)
FSYNCS/SECOND: 750.10

 

root@PVE-A-00:~# zfs set direct=standard VM-DISK
root@PVE-A-00:~# zfs set sync=standard VM-DISK
root@PVE-A-00:~# pveperf /VM-DISK
CPU BOGOMIPS: 460800.00
REGEX/SECOND: 7045722
HD SIZE: 3186.04 GB (VM-DISK)
FSYNCS/SECOND: 1479.15

 

root@PVE-A-00:~# zfs set direct=disabled VM-DISK
root@PVE-A-00:~# zfs set sync=disabled VM-DISK
root@PVE-A-00:~# pveperf /VM-DISK
CPU BOGOMIPS: 460800.00
REGEX/SECOND: 7053767
HD SIZE: 3186.04 GB (VM-DISK)
FSYNCS/SECOND: 113598.18

 

 

 

image1 (1).png

Link to comment
https://linustechtips.com/topic/1633801-zfs-nvme-performance/
Share on other sites

Link to post
Share on other sites

These commands have already been a huge help.

But I don't think I'm getting the most out of them yet.


# C6 en C6P uitschakelen (state 3 en 4)
for cpu in /sys/devices/system/cpu/cpu*/cpuidle/state3/disable; do echo 1 > $cpu; done
for cpu in /sys/devices/system/cpu/cpu*/cpuidle/state4/disable; do echo 1 > $cpu; done


root@PVE-A-00:~# pveperf /VM-DISK
CPU BOGOMIPS:      460800.00
REGEX/SECOND:      5916767
HD SIZE:           3248.49 GB (VM-DISK)
FSYNCS/SECOND:     7666.66

 

Link to comment
https://linustechtips.com/topic/1633801-zfs-nvme-performance/#findComment-16876304
Share on other sites

Link to post
Share on other sites

Just a heads up: disabling CPU idle states (C6P, C6, and C1E) gave me a 6.5x boost in FSync performance. Might be worth trying if you're seeing sync-related slowdowns.
 

Spoiler

root@PVE-A-00:/sys/devices/system/cpu/cpu0/cpuidle/state2# for state in /sys/devices/system/cpu/cpu0/cpuidle/state*; do
    name=$(cat $state/name)
    latency=$(cat $state/latency)
    disabled=$(cat $state/disable)
    if [ "$disabled" = "0" ]; then
        status="ENABLED"
    else
        status="DISABLED"
    fi
    printf "%-6s latency=%3sµs  %s\n" "$name" "$latency" "$status"
done
POLL   latency=  0µs  ENABLED
C1     latency=  1µs  ENABLED
C1E    latency=  4µs  DISABLED
C6     latency=170µs  DISABLED
C6P    latency=210µs  DISABLED


root@PVE-A-00:~# pveperf /VM-DISK
CPU BOGOMIPS: 460800.00
REGEX/SECOND: 6004368
HD SIZE: 3248.49 GB (VM-DISK)
FSYNCS/SECOND: 9835.00

Original:
root@PVE-A-00:~# pveperf /VM-DISK
CPU BOGOMIPS: 460800.00
REGEX/SECOND: 7045722
HD SIZE: 3186.04 GB (VM-DISK)
FSYNCS/SECOND: 1479.15

Link to comment
https://linustechtips.com/topic/1633801-zfs-nvme-performance/#findComment-16876326
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×