Which configuration for zfs? A real world example
Which configuration for zfs? A real world example
After downloading and splitting my Steam Library I wondered what the best configuration would be for the zvols used.
Since compression can only be measured by actual compressing, I created for each game its own zvols with different compression algorithms and chunksizes.
Why different chunk sizes?
- Matching the chunksize with the ntfs, its a big performance gain
- Chunksizes of the filesystem influences the amount of “wasted” storage
- Chunksizes have effect on compression effectiveness
To improve writespeed I created a ZFS-Pool on a ramdisk.
How a datapoint was created:
- Create a zvol for each compression algorithm, compression level and chunksize
- Create parition on it and format it as ntfs with matching chunksize
- Use
rsync
to copy data to new created partition - Write output of
zfs list -H -p -o name,volsize,referenced,volblocksize,compression,compressratio zvol_name_for_configuration
After this the whole thing is converted to a JSON-file. That way it can easily be parsed using the jq
command or with javascript
.
A nice formatted page of the data is here.