The issue
Apps have different recordsize requirements irrespective of which install method you choose (ix-apps/host paths)
Below is a mocked up example, the recordsizes might be wrong for the type of dataset but that is my point, add this into TruneNAS for a much more streamlined experience.
- apps
- (128)
- config (16)
- data (128)
- database (16)
- logs (16)
- (128)
Proposal
- When you create an app and you use the
ix-appsoption, TrueNAS should set the correctrecordsizefor the dataset. - On the catalogue page you should show the recommended dataset
recordsizefor host paths. - In the installed apps you should also expose the various datasets and ix-apps folder’s
recordsizeso an admin can see if things are set correctly. - In the app wizard where you get to create a host path, you should also show the recommended
recordsizeand give the option to configure it. - Add a new recommended field to the app building process for each app’s host path.
- The TrueNAS team should put together a table with recommended dataset
recordsizes- Workload Tuning — OpenZFS documentation
- VMware 6.7 Datastore block size | TrueNAS Community
- HoneyBadger - The default
volblocksizeof 16K is a sane default that generally works well in most cases, but getting it “right” does involve a little more; maybe I’ll see about putting in a documentation update or making a resource thread here.
I know this is an old link but it proves this topic has come up before.
- HoneyBadger - The default
What am I solving
if you do not set a dataset’s recordsize correctly this can lead to
- read-write amplification.
- excessive meta data
- low performance server
- excessive wear on your SSD/nVME
- Not everyone knows the correct
recordsizeto use. I didn’t until recently.