[Tanya] Perbedaan Performa Mount NVMe NTFS (ntfs-3g vs ntfs3) di Ubuntu Server


yukebrillianth

Apprentice 1.0
Selamat malam Tuan-tuan dan para Suhu sekalian.

Izin bertanya dan minta pencerahan teknis. Kebetulan saya ada server fisik (bare metal, bukan VPS) yang menggunakan NVMe. Di dalamnya ada partisi Windows (NTFS) yang perlu saya mount di Ubuntu Server 24.04 (Kernel 6.8).

Saya iseng melakukan benchmark dengan dua metode mounting yang berbeda, dan hasilnya agak membingungkan saya (ada yang naik drastis, tapi ada angka yang turun).

Skenario 1: Mount pakai ntfs-3g (Default)
Saya mount biasa tanpa flag khusus (terdeteksi pakai ntfs-3g / FUSE).
  • Bench.sh (Sequential Write): Cuma dapat ~126 MB/s. (Terasa lambat banget untuk NVMe).
  • YABS (Fio): Speed Mixed R/W terbaca ~3.10 GB/s, tapi IOPS 4k cuma 76.9k.
Hasil Yabs.sh:
Code:
fio Disk Speed Tests (Mixed R/W 50/50) (Partition /dev/nvme0n1p3):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 153.61 MB/s  (38.4k) | 1.13 GB/s    (17.6k)
Write      | 154.02 MB/s  (38.5k) | 1.13 GB/s    (17.7k)
Total      | 307.63 MB/s  (76.9k) | 2.26 GB/s    (35.4k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 1.51 GB/s     (2.9k) | 1.51 GB/s     (1.4k)
Write      | 1.59 GB/s     (3.1k) | 1.61 GB/s     (1.5k)
Total      | 3.10 GB/s     (6.0k) | 3.12 GB/s     (3.0k)

Hasil Bench.sh
Code:
-------------------- A Bench.sh Script By Teddysun -------------------
 Version            : v2025-05-08
 Usage              : wget -qO- bench.sh | bash
----------------------------------------------------------------------
 CPU Model          : Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
 CPU Cores          : 6 @ 1199.987 MHz
 CPU Cache          : 9216 KB
 AES-NI             : ✓ Enabled
 VM-x/AMD-V         : ✓ Enabled
 Total Disk         : 222.4 GB (15.9 GB Used)
 Total Mem          : 15.5 GB (758.9 MB Used)
 Total Swap         : 4.0 GB (0 Used)
 System uptime      : 0 days, 0 hour 10 min
 Load average       : 0.04, 0.21, 0.15
 OS                 : Ubuntu 24.04.2 LTS
 Arch               : x86_64 (64 Bit)
 Kernel             : 6.8.0-88-generic
 TCP CC             : cubic
 Virtualization     : Dedicated
 IPv4/IPv6          : ✓ Online / ✗ Offline
 Organization       : AS23700 Linknet-Fastnet ASN
 Location           : Jakarta / ID
 Region             : Jakarta
----------------------------------------------------------------------
 I/O Speed(1st run) : 139 MB/s
 I/O Speed(2nd run) : 127 MB/s
 I/O Speed(3rd run) : 114 MB/s
 I/O Speed(average) : 126.7 MB/s
----------------------------------------------------------------------

Skenario 2: Mount pakai driver ntfs3 (Kernel Driver)
Saya coba paksa pakai driver kernel baru dengan perintah: sudo mount -t ntfs3 /dev/nvme0n1p3 /mnt/windows_nvme -o defaults,noatime,prealloc,uid=$(id -u),gid=$(id -g)
  • Bench.sh (Sequential Write): Melonjak ke 1.1 GB/s (Naik hampir 10x lipat).
  • YABS (Fio): Speed Mixed R/W malah "turun" jadi 1.03 GB/s, TAPI IOPS 4k naik drastis ke 126.5k.
Yabs.sh
Code:
fio Disk Speed Tests (Mixed R/W 50/50) (Partition /dev/nvme0n1p3):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 252.73 MB/s  (63.1k) | 373.04 MB/s   (5.8k)
Write      | 253.39 MB/s  (63.3k) | 375.00 MB/s   (5.8k)
Total      | 506.12 MB/s (126.5k) | 748.04 MB/s  (11.6k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 505.16 MB/s    (986) | 490.47 MB/s    (478)
Write      | 532.00 MB/s   (1.0k) | 523.13 MB/s    (510)
Total      | 1.03 GB/s     (2.0k) | 1.01 GB/s      (988)

Bench.sh
Code:
-------------------- A Bench.sh Script By Teddysun -------------------
 Version            : v2025-05-08
 Usage              : wget -qO- bench.sh | bash
----------------------------------------------------------------------
 CPU Model          : Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz
 CPU Cores          : 6 @ 3802.410 MHz
 CPU Cache          : 9216 KB
 AES-NI             : ✓ Enabled
 VM-x/AMD-V         : ✓ Enabled
 Total Disk         : 222.4 GB (15.9 GB Used)
 Total Mem          : 15.5 GB (760.6 MB Used)
 Total Swap         : 4.0 GB (0 Used)
 System uptime      : 0 days, 0 hour 34 min
 Load average       : 0.00, 0.06, 0.11
 OS                 : Ubuntu 24.04.2 LTS
 Arch               : x86_64 (64 Bit)
 Kernel             : 6.8.0-88-generic
 TCP CC             : cubic
 Virtualization     : Dedicated
 IPv4/IPv6          : ✓ Online / ✗ Offline
 Organization       : AS23700 Linknet-Fastnet ASN
 Location           : Jakarta / ID
 Region             : Jakarta
----------------------------------------------------------------------
 I/O Speed(1st run) : 1.1 GB/s
 I/O Speed(2nd run) : 1.2 GB/s
 I/O Speed(3rd run) : 1.1 GB/s
 I/O Speed(average) : 1160.5 MB/s
----------------------------------------------------------------------
 Node Name        Upload Speed      Download Speed      Latency
 Speedtest.net    46.46 Mbps        139.82 Mbps         34.11 ms
 Paris, FR        29.63 Mbps        149.79 Mbps         186.13 ms
 Amsterdam, NL    16.03 Mbps        111.08 Mbps         190.83 ms
 Hong Kong, CN    36.37 Mbps        151.62 Mbps         65.92 ms
 Singapore, SG    47.07 Mbps        151.54 Mbps         36.82 ms
 Tokyo, JP        19.28 Mbps        145.32 Mbps         102.78 ms
----------------------------------------------------------------------
 Finished in        : 3 min 12 sec
 Timestamp          : 2025-12-09 15:20:33 UTC
----------------------------------------------------------------------
yukebrillianth@node2:/mnt/windows_nvme$

Pertanyaan saya untuk para Suhu:
  • Kenapa di Skenario 1 (ntfs-3g), hasil bench.sh hancur (100MBps) tapi di YABS speed-nya bisa tembus 3 GB/s? Apakah itu cuma caching/buffer RAM semata (phantom speed)?
  • Di Skenario 2 (ntfs3), meskipun speed YABS terlihat turun (dari 3GBps ke 1GBps), tapi IOPS 4k-nya naik 64%. Apakah aman disimpulkan kalau Skenario 2 ini sebenarnya yang lebih performant dan "sehat" untuk penggunaan real-world?
  • Apakah memang driver ntfs3 (kernel) sekarang sudah direkomendasikan untuk production menggantikan ntfs-3g?
Mohon bimbingan dan penjelasan teknisnya Tuan, supaya saya tidak salah ambil kesimpulan.

Dan kira kira lebih bagus mana, iops besar apa R/W speed besar? Rencananya untuk bikin paas kecil-kecilan pake docker swarm.

Terima kasih banyak.

ini saya nulisnya di hp susah banget :35:
 
Back
Top