Sorry for the delay in getting back to this. I created a pool on 4 1TB HDDs, and then created a filesystem with compression off (since i'm using random data, it wouldn't help) and a edon-r for the checksum. I then create a number of files of a given size using dd, creating 10 at a time in parallel. Once the files are created, I export and import the pool to clear the cache, and read in all the files, writing them to /dev/null. I ran that part 15 times, timing it each time to get a decent performance measurement. Then I destroy the filesystem, and go back to the fs creation step with new parameters.
I ran a decent spectrum of tests, so hopefully some of this data will help reassure you. The numbers across the top rows are the size of the files created, and the numbers across the left are the number of files being read. The times are the average of the 15 runs, in seconds. For `recordsize=512`: | Before |128k| 1m| 8m| 64m| After |128k| 1m| 8m| 64m| |---|:-----:|:---:|:----:|:-----:|---|:-----:|:---:|:----:|:-----:| |**10**|0.09|0.36|2.88|21.70|**10**|0.07|0.33|2.89|20.21| |**40**|0.29|1.55|11.93|86.50|**40**|0.24|1.46|10.94|83.53| |**160**|1.14|6.08|50.10|361.76|**160**|0.93|6.23|44.20|342.40| For `recordsize=8k`: | Before |128k| 1m| 8m| 64m| After |128k| 1m| 8m| 64m| |---|:-----:|:---:|:----:|:-----:|---|:-----:|:---:|:----:|:-----:| |**10**|0.05|0.16|0.64|3.89|**10**|0.07|0.16|0.72|3.61| |**40**|0.25|0.59|3.02|17.72|**40**|0.20|0.68|3.46|15.96| |**160**|0.69|2.79|12.43|68.86|**160**|0.76|2.59|14.47|59.43| For `recordsize=128k`: | Before |128k| 1m| 8m| 64m| After |128k| 1m| 8m| 64m| |---|:-----:|:---:|:----:|:-----:|---|:-----:|:---:|:----:|:-----:| |**10**|0.04|0.10|0.53|3.58|**10**|0.05|0.11|0.64|4.32| |**40**|0.14|0.37|2.31|17.94|**40**|0.14|0.45|2.62|16.95| |**160**|0.59|1.67|9.81|60.39|**160**|0.56|1.77|10.42|61.90| It looks like performance is usually similar with the new bits, some slightly better and some slightly worse. Those results may be within the margin of error of each other, or there may be some pattern that explains why some runs are slightly faster and some are slightly slower; I'm not sure. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/openzfs/openzfs/pull/548#issuecomment-375374996 ------------------------------------------ openzfs: openzfs-developer Permalink: https://openzfs.topicbox.com/groups/developer/discussions/T987f71bf0a7c33f4-M50a62e81c12093e0307c840a Delivery options: https://openzfs.topicbox.com/groups
