===== Direct Write Test, simple benchmark with dd =====
From: [[https://communities.intel.com/community/itpeernetwork/blog/2013/11/22/making-friends-with-your-new-ssd--a-simple-baseline]]
First off remember system OS'es, and controllers, are always setup for caching and buffering, so use DirectIO, here is an example syntax that should work on most flavors of Linux/Unix, or try Cygwin on Windows to achieve the same. So to me it seems amazingly universal but you tell me, is there a more universal tool than "dd" out there that's more powerful and more standard for a fast memory to device copy test.
$ time dd if=/dev/zero of=tstfile bs=2048k count=512 oflag=direct
2048+0 records in
2048+0 records out
1073741824 bytes (1.1 GB) copied, 3.53208 s, 304 MB/s
real 0m3.619s
user 0m0.187s
sys 0m0.217s
**Direct Read Test**
You can reverse things to see what the read test looks like, things should be faster on reads in all cases with respect to the SSD:
$ time dd of=/dev/null if=tstfile bs=2048k count=512 iflag=direct
2048+0 records in
2048+0 records out
1073741824 bytes (1.1 GB) copied, 3.45007 s, 311 MB/s
real 0m3.463s
user 0m0.015s
**Read Cache Test**
(testing the DRAM memory, and system in this case)
$ time dd of=/dev/null if=tstfile bs=2048k count=512
2048+0 records in
2048+0 records out
1073741824 bytes (1.1 GB) copied, 0.280394 s, 3.8 GB/s
real 0m0.296s
user 0m0.000s
sys 0m0.296s
====IBM P520, POWER6, PowerVM (with RHEL6), Hitachi Ultrastar 15K300 SAS, 147GB====
Direct write: 1073741824 bytes (1.1 GB) copied, 14.604 s, 73.5 MB/s
Direct read: 1073741824 bytes (1.1 GB) copied, 16.7439 s, 64.1 MB/s
Read cache: 1073741824 bytes (1.1 GB) copied, 0.354082 s, 3.0 GB/s
====USB UAS attached Samsung 850 EVO 500GB SSD, attached to Intel NUC NUC6i7KYK====
Benchmarking an encrypted filesystem, the speed drops to around 370MB/sec write, 430MB/sec read.
Direct write: 2147483648 bytes (2,1 GB, 2,0 GiB) copied, 5,11402 s, 420 MB/s
Direct read: 2147483648 bytes (2,1 GB, 2,0 GiB) copied, 4,7174 s, 455 MB/s
Read cache: 2147483648 bytes (2,1 GB, 2,0 GiB) copied, 0,295798 s, 7,3 GB/s
====USB UAS attached Samsung 850 EVO 500GB SSD, attached to Lenovo X1 carbon (2015), LUKS encrypted fs====
Direct write: 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 3,23224 s, 332 MB/s
Direct read: 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 3,14576 s, 341 MB/s
Read cache: 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 0,151628 s, 7,1 GB/s
====Intel NUC Kit NUC6i7KYK / Samsung SM951 256GB (NVMe) - MZVPV256HDGL====
With this fast SSD a larger blocksize (32M) was needed to reach the GB/s speed.
Direct write: 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 0,889314 s, 1,2 GB/s
Direct read: 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 0,513717 s, 2,1 GB/s
Read cache: 1073741824 bytes (1,1 GB, 1,0 GiB) copied, 0,154132 s, 7,0 GB/s
====Raspberry Pi 3 Model B 1GB. Transcend 32GB microSD Premium 400x Class 10 UHS-I====
Direct write: 1073741824 bytes (1.1 GB) copied, 100.578 s, 10.7 MB/s
Direct read: 1073741824 bytes (1.1 GB) copied, 47.0731 s, 22.8 MB/s
Read cache: 1073741824 bytes (1.1 GB) copied, 49.5828 s, 21.7 MB/s
====Raspberry Pi 4 Model B 4GB. Transcend 8GB microSD Ultimate 600x Class 10 UHS-I====
Direct write: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 53.5692 s, 20.0 MB/s
Direct read: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 25.1142 s, 42.8 MB/s
Read cache: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.49443 s, 718 MB/s
====Raspberry Pi 4 Model B 4GB. SanDisk Ultra 32GB USB 3 thumb drive====
Write speed was not stable, device very hot.
Direct write: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 23.8766 s, 45.0 MB/s
Direct read: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 9.29304 s, 116 MB/s
Read cache: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.56342 s, 687 MB/s
====Raspberry Pi 4 Model B 4GB. Samsung portable SSD T5====
Direct write: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 4.71707 s, 228 MB/s
Direct read: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.50969 s, 306 MB/s
Read cache: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.53438 s, 700 MB/s
====PC Engines APU with 16GB SSD - SuperSSpeed S328 16GB===
Direct write: 1073741824 bytes (1.1 GB) copied, 41.7628 s, 25.7 MB/s
Direct read: 1073741824 bytes (1.1 GB) copied, 5.9659 s, 180 MB/s
Read cache: 1073741824 bytes (1.1 GB) copied, 1.15947 s, 926 MB/s
====PC Engines APU with 30GB SSD - Kingston SMS200S330G====
Direct write: 1073741824 bytes (1.1 GB) copied, 3.51081 s, 306 MB/s
Direct read: 1073741824 bytes (1.1 GB) copied, 3.0644 s, 350 MB/s
Read cache: 1073741824 bytes (1.1 GB) copied, 1.44341 s, 744 MB/s
====md RAID1 with Crucial/Micron RealSSD C300/C400/m4====
Direct write: 1073741824 bytes (1.1 GB) copied, 9.86249 s, 109 MB/s
Direct read: 1073741824 bytes (1.1 GB) copied, 3.82096 s, 281 MB/s
Read cache: 1073741824 bytes (1.1 GB) copied, 0.10913 s, 9.8 GB/s
====Proliant DL320e G8 hardware raid / P222 controller / RAID 10 4x SATA LFF====
Direct write: 1073741824 bytes (1.1 GB) copied, 3.20435 s, 335 MB/s
Direct read: 1073741824 bytes (1.1 GB) copied, 3.21506 s, 334 MB/s
Read cache: 1073741824 bytes (1.1 GB) copied, 0.192178 s, 5.6 GB/s
====Proliant DL320e G8 v2 hardware raid / P222 controller / RAID 10 4x SAS SFF====
Direct write: 1073741824 bytes (1.1 GB) copied, 2.17193 s, 494 MB/s
Direct read: 1073741824 bytes (1.1 GB) copied, 2.17759 s, 493 MB/s
Read cache: 1073741824 bytes (1.1 GB) copied, 0.110266 s, 9.7 GB/s
==== Odroid M1 / Samsung SSD 970 EVO Plus 250GB ====
Direct write: 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 3.82946 s, 1.1 GB/s
Direct read: 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 2.96632 s, 1.4 GB/s
Read cache: 4294967296 bytes (4.3 GB, 4.0 GiB) copied, 2.86754 s, 1.5 GB/s
==== Raspberry Pi CM4 8GB mem / KINGSTON SNVS1000G (1TB) ====
Direct write: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 3.17625 s, 338 MB/s
Direct read: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.68052 s, 401 MB/s
Read cache: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.769217 s, 1.4 GB/s