Joes Rules to Asking for Help

Drive Speed Tests

Unless otherwise stated, the commands should work on both CORE and SCALE.

Drive Speed Tests: This is for any perceived drive transfer speed issues, which also include network transfer speeds.

  1. The dd command will provide you general speed throughput of your pool. These instructions are not meant for grooming and can also identify other system speed issues.
  2. From an SSH or Shell window, enter pwd to display the directory you are using. Use cd to to change to a dataset. (example: cd /mnt/pool/testing_dataset) assuming you have a pool called ‘pool’ and a dataset called ‘testing_dataset’.
  3. Enter dd if=/dev/urandom of=temporary.dat bs=2048k count=50k and you may need to wait a while for a result to return as we are creating a 100GB file using pseudo-random data vice using ‘zero’.
  4. Enter dd if=temporary.dat of=/dev/null bs=2048k count=50k and this should take less time.
  5. While not absolutely required, Reboot TrueNAS and then perform steps 2 and 4 again. This will ensure the data was not cached and you can compare the two results.
  6. Enter rm temporary.dat to remove the file we just created.
Example of my home NVMe system (I am using my 'scripts' dataset):
root@truenas[~]# pwd
/root
root@truenas[~]# cd /mnt/farm/scripts
root@truenas[/mnt/farm/scripts]# dd if=/dev/urandom of=temp.dat bs=2048k count=50k
51200+0 records in
51200+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 188.84 s, 569 MB/s
root@truenas[/mnt/farm/scripts]# dd if=temp.dat of=/dev/null bs=2048k count=50k
51200+0 records in
51200+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 22.6655 s, 4.7 GB/s

Reboot

root@truenas[/mnt/farm/scripts]# dd if=temp.dat of=/dev/null bs=2048k count=50k
51200+0 records in
51200+0 records out
107374182400 bytes (107 GB, 100 GiB) copied, 23.5447 s, 4.6 GB/s

The same commands on my spinning rust machine results in much lower results, of course.

Write: 107374182400 bytes transferred in 368.208744 secs (291612256 bytes/sec)
Read: 107374182400 bytes transferred in 333.007773 secs (322437466 bytes/sec)