Disk Performance
I evaluated the NVMe performance with KDiskMark, a free and open source graphical frontend to Flexible I/O. The software provides an easy to view and interpret comprehensive benchmark result.
I’ll use Flatpak to install KDiskMark. First install the Flatpak package:
$ sudo apt install flatpak
Add the Flatpak repository:
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Restart the Pi 5.
KDiskMark is installed with the command:
$ flatpak install flathub io.github.jonmagon.kdiskmark
Here are the results for my Samsung SSD 980 1TB NVMe. As you can see, I’m getting 442 MB/s reads and 428MB/s writes for large files. That’s lower than expected.
After a bit of digging I realized the Pi doesn’t have PCIe Gen 3 enabled. That’s easily fixed by running raspi-config
, navigate to Advanced Options / PCIe speed and enable PCIe Gen 3.
Re-running KDiskMark, and I get the following results which are in line with expectations.
For comparison purposes, I also tested a SanDisk 512GB microSDXC card in the Pi 5. While the card gets 134 MB/s reads for large files, read performance for small files and write performance is abysmal. You may notice I changed the font. That’s because I think the Raspberry Pi OS’s default font is unattractive.
Running the Pi from an NVMe makes a big difference when using the Pi as a desktop machine.
Next page: Page 5 – WiFi Performance
Pages in this article:
Page 1 – Introduction and Assembly
Page 2 – Software
Page 3 – Cooling
Page 4 – Disk Performance
Page 5 – WiFi Performance
Page 6 – Summary