recordsize
considerations for home directories
#17326
Unanswered
LunarLambda
asked this question in
Q&A
Replies: 2 comments 5 replies
-
You are using compression, right? So, why do you want to set recordsize smaller if you don't care about I/O size? The files which are smaller than recordsize will use less storage on disk after compression. So, there is no reason to decrease recordsize if you have a lot of small files and most of them are read/written fully every time. |
Beta Was this translation helpful? Give feedback.
2 replies
-
so, 128k default is still good, you may fine tune further, but it will be a your time waste IMHO. 16-32K recordsize is mainly useful for databases. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
To preface: Yes, I know that
ashift=12
andrecordsize=4K
is a terrible idea, especially on raidz.I have my Linux home directories on a raidz1 pool, and I've been wondering about optimizing the recordsize for it, to reduce read/write amplification.
I already have a dataset for my steam library with
recordsize=1M
, which has yielded a nice improvement to compression and speed.I created a histogram of my home directory by file size:
Most of everything lies in the 512-64k range. A lot of it are git repositories, with the rest being various media files (images, music, videos)
I know that when considering record size it's more about I/O size than file size, so this is a flawed heuristic to start with, however most of the programs that write to /home should write the entire file in one go, so I see these as roughly comparable.
From what I understand, the default of
recordsize=128K
is a "not awful for anything, not amazing for anything" compromise. Does setting something likerecordsize=16K
orrecordsize=32K
make sense here? (And maybe something likerecordsize=1M
for the media directories?)Since it's a home directory I use daily, I would like to avoid too much experimentation, as meaningfully changing the recordsize of existing files to see if it improves things would require essentially sending/receiving the dataset(s) back and forth.
Beta Was this translation helpful? Give feedback.
All reactions