Does the special vdev improve Read/Write performance ? #14550
-
I think the pool read and write performance is higher in the second case than in the first. I don't know why that is.Thank you in advance for your answer. The tool I use to measure performance is Vdbench.The Vdbench configuration file is as follows: The file system creation command is as follows: Different block sizes and file numbers are tested. Why does special vdev not improve read/write performance? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Arc may cache metadata anyway. Try to set primarycache=none, and test again. |
Beta Was this translation helpful? Give feedback.
-
I am not sure primarycache=none is a very good idea, it is too synthetic. But flushing the caches by exporting/importing the pool before the test would make sense. And the test should be short enough to complete before all metadata will be cached. With default indirect block size of 128KB with ~1024 pointers per indirect block you need to read only about 0.1% of data randomly to already cache all the metadata in ARC. You'd probably need more of different metadata types, such as tons of small files, directories, xattrs, etc to make a bigger benefits from special vdev. Also special vdev is almost mandatory in case regular vdevs unable to store small blocks, such as DRAID, or may be some RAIDZ2/3 with large ashift, etc. |
Beta Was this translation helpful? Give feedback.
I am not sure primarycache=none is a very good idea, it is too synthetic. But flushing the caches by exporting/importing the pool before the test would make sense. And the test should be short enough to complete before all metadata will be cached. With default indirect block size of 128KB with ~1024 pointers per indirect block you need to read only about 0.1% of data randomly to already cache all the metadata in ARC.
You'd probably need more of different metadata types, such as tons of small files, directories, xattrs, etc to make a bigger benefits from special vdev. Also special vdev is almost mandatory in case regular vdevs unable to store small blocks, such as DRAID, or may be some RAI…