Following on from my previous post where I tested lz4, let’s try compression=zstd.
- Experimenting with compression off
- Experimenting with compression=lz4
- Experimenting with compression=zstd – you are here
- Compression results
First, we delete the old:
[21:19 r730-01 dvl ~/tmp] % sudo zpool destroy Samsung-SSD-870-compression-lz4 [21:19 r730-01 dvl ~/tmp] % sudo zpool destroy Samsung-SSD-980-PRO-compression-lz4 [21:19 r730-01 dvl ~/tmp] % sudo zpool destroy Samsung-SSD-990-EVO-compression-lz4
Then create the new:
[21:19 r730-01 dvl ~/tmp] % sudo zpool create Samsung-SSD-980-PRO-compression-zstd mirror /dev/nda1 /dev/nda2 [21:20 r730-01 dvl ~/tmp] % sudo zpool create Samsung-SSD-990-EVO-compression-zstd mirror /dev/nda0 /dev/nda3 [21:20 r730-01 dvl ~/tmp] % sudo zpool create Samsung-SSD-870-compression-zstd mirror /dev/da12 /dev/da13 [21:20 r730-01 dvl ~/tmp] % sudo zfs set compression=zstd Samsung-SSD-980-PRO-compression-zstd [21:21 r730-01 dvl ~/tmp] % sudo zfs set compression=zstd Samsung-SSD-990-EVO-compression-zstd [21:21 r730-01 dvl ~/tmp] % sudo zfs set compression=zstd Samsung-SSD-870-compression-zstd [21:22 r730-01 dvl ~/tmp] % sudo chown dvl:dvl /Samsung-SSD-* [21:22 r730-01 dvl ~/tmp] %
Samsung-SSD-870-compression-zstd – 4TB ssd
Another set:
[21:28 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test1 [21:28 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test1 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test1 1.17s user 65.63s system 59% cpu 1:51.82 total [21:30 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test2 [21:31 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test2 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test2 1.17s user 65.12s system 61% cpu 1:47.69 total [21:33 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test3 [21:33 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test3 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test3 1.51s user 63.81s system 61% cpu 1:45.83 total [21:35 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test4 [21:35 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test4 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test4 1.05s user 64.27s system 61% cpu 1:45.91 total [21:37 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test5 [21:37 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test5 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test5 1.22s user 64.64s system 59% cpu 1:51.41 total [21:39 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test6 [21:39 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test6 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test6 1.24s user 68.56s system 44% cpu 2:36.80 total [21:42 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test7 [21:42 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test7 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test7 1.28s user 67.70s system 44% cpu 2:36.72 total [21:44 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test8 [21:45 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test8 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test8 1.31s user 67.04s system 46% cpu 2:27.37 total [21:48 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test9 [21:48 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test9 cp -r DELETE-ME* /Samsung-SSD-870-compression-zstd/test9 1.17s user 68.21s system 45% cpu 2:33.72 total [21:52 r730-01 dvl ~] % zpool list Samsung-SSD-870-compression-zstd NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT Samsung-SSD-870-compression-zstd 3.62T 148G 3.48T - - 0% 3% 1.00x ONLINE -
Samsung-SSD-980-PRO-compression-zstd – 1TB NVMe
Another set:
[21:51 r730-01 dvl ~/tmp] % ls -l /Samsung-SSD-980-PRO-compression-zstd total 0 [21:51 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test1 [21:51 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test1 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test1 1.14s user 68.92s system 68% cpu 1:42.27 total [21:53 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test2 [21:54 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test2 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test2 1.06s user 65.03s system 65% cpu 1:40.93 total [21:55 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test3 [21:55 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test3 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test3 1.09s user 64.23s system 68% cpu 1:35.16 total [21:57 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test4 [21:57 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test4 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test4 1.23s user 64.00s system 70% cpu 1:32.56 total [21:59 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test5 [21:59 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test5 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test5 0.99s user 63.88s system 69% cpu 1:33.13 total [22:01 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test6 [22:01 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test6 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test6 0.95s user 64.41s system 70% cpu 1:33.18 total [22:02 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test7 [22:03 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test7 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test7 1.20s user 63.17s system 70% cpu 1:30.81 total [22:04 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test8 [22:05 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test8 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test8 1.09s user 64.28s system 69% cpu 1:33.52 total [22:06 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test9 [22:07 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test9 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test9 1.00s user 64.02s system 71% cpu 1:31.39 total [21:52 r730-01 dvl ~] % zpool list Samsung-SSD-980-PRO-compression-zstd NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT Samsung-SSD-980-PRO-compression-zstd 928G 148G 780G - - 0% 15% 1.00x ONLINE -
Samsung-SSD-990-EVO-compression-zstd – 4TB NVMe
And one more:
[22:08 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test1 [22:09 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test1 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test1 1.03s user 64.17s system 71% cpu 1:30.83 total [22:10 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test2 [22:11 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test2 [cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test2 1.02s user 63.09s system 71% cpu 1:29.47 total [22:12 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test3 [22:13 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test3 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test3 0.97s user 64.08s system 71% cpu 1:30.38 total [22:14 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test4 [22:16 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test4 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test4 1.12s user 63.86s system 72% cpu 1:30.04 total [22:18 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test5 [22:18 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test5 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test5 1.13s user 63.49s system 72% cpu 1:28.66 total [22:20 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test6 [22:23 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test6 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test6 1.05s user 63.47s system 73% cpu 1:28.16 total [22:25 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test7 [22:25 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test7 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test7 1.03s user 63.42s system 73% cpu 1:28.25 total [22:27 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test8 [22:27 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test8 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test8 1.00s user 63.73s system 73% cpu 1:28.19 total [22:28 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test9 [22:28 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test9 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test9 1.02s user 63.30s system 73% cpu 1:27.77 total [22:30 r730-01 dvl ~/tmp] % zpool list Samsung-SSD-990-EVO-compression-zstd NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT Samsung-SSD-990-EVO-compression-zstd 3.62T 148G 3.48T - - 0% 3% 1.00x ONLINE -
After pizza
That night, it was pizza night, and it was good.
Today, I thought I’d run one two more tests on each of the zstd zpools. Just for fun.
Why two? Caching, perhaps.
Before:
[11:52 r730-01 dvl ~/tmp] % ls /Samsung-SSD-* /Samsung-SSD-870-compression-zstd: test1/ test2/ test3/ test4/ test5/ test6/ test7/ test8/ test9/ /Samsung-SSD-980-PRO-compression-zstd: test1/ test2/ test3/ test4/ test5/ test6/ test7/ test8/ test9/ /Samsung-SSD-990-EVO-compression-zstd: test1/ test2/ test3/ test4/ test5/ test6/ test7/ test8/ test9/
Starting off:
[11:52 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test10 [11:53 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* //Samsung-SSD-870-compression-zstd/test10 cp -r DELETE-ME* //Samsung-SSD-870-compression-zstd/test10 1.16s user 68.07s system 51% cpu 2:15.47 total [11:55 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-870-compression-zstd/test11 [11:56 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* //Samsung-SSD-870-compression-zstd/test11 cp -r DELETE-ME* //Samsung-SSD-870-compression-zstd/test11 1.17s user 64.65s system 54% cpu 1:59.90 total
I call that a significant difference between the two runs. The original runs were in the 1:45-2:33 range. My theory: the input is now cached.
Next:
[11:58 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test10 [11:59 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test10 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test10 1.12s user 65.26s system 58% cpu 1:54.03 total [12:01 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-980-PRO-compression-zstd/test11 [12:02 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test11 cp -r DELETE-ME* /Samsung-SSD-980-PRO-compression-zstd/test11 1.25s user 65.50s system 59% cpu 1:52.88 total
Both slightly slower the same as the original times for this zpool (1:31-1:42).
Finally:
[12:11 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test10 [12:11 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test10 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test10 1.29s user 64.88s system 56% cpu 1:56.45 total [12:13 r730-01 dvl ~/tmp] % mkdir /Samsung-SSD-990-EVO-compression-zstd/test11 [12:14 r730-01 dvl ~/tmp] % time cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test11 cp -r DELETE-ME* /Samsung-SSD-990-EVO-compression-zstd/test11 1.17s user 64.79s system 58% cpu 1:52.55 total
The original tests for this zpool were in the 1:27-1:30 range. These are both 20s slower. No idea why.
Good bye, and thanks for all the fiche
That’s fiche as in short for microfiche. As in storing lots of information in a small space.
[12:21 r730-01 dvl ~/tmp] % sudo zpool destroy Samsung-SSD-870-compression-zstd [12:21 r730-01 dvl ~/tmp] % sudo zpool destroy Samsung-SSD-980-PRO-compression-zstd [12:21 r730-01 dvl ~/tmp] % sudo zpool destroy Samsung-SSD-990-EVO-compression-zstd [12:21 r730-01 dvl ~/tmp] %
Next, I want to explore the GEOM errors caused by the lingering gpart information on the 1x 1TB NVMe sticks.