Experimenting with compression=zstd

Following on from my previous post where I tested lz4, let’s try compression=zstd.

  1. Experimenting with compression off
  2. Experimenting with compression=lz4
  3. Experimenting with compression=zstd – you are here
  4. 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.

Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive

Leave a Comment

Scroll to Top