diff options
author | Alexander Motin <[email protected]> | 2023-10-06 13:09:27 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2023-10-06 10:09:27 -0700 |
commit | 66b81b349749bc1ba11fa277bee860be03315429 (patch) | |
tree | 1670ce3f5515a464964f951345131a2662f11780 /man | |
parent | 74ed1ae08a16d836efb4e24759fa4ffdb7d1af30 (diff) |
ZIL: Reduce maximum size of WR_COPIED to 7.5K
Benchmarks show that at certain write sizes range lock/unlock take
not so much time as extra memory copy. The exact threshold is not
obvious due to other overheads, but it is definitely lower than
~63KB used before. Make it configurable, defaulting at 7.5KB,
that is 8KB of nearest malloc() size minus itx and lr structs.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Alexander Motin <[email protected]>
Sponsored by: iXsystems, Inc.
Closes #15353
Diffstat (limited to 'man')
-rw-r--r-- | man/man4/zfs.4 | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/man/man4/zfs.4 b/man/man4/zfs.4 index 66e4f6a4b..cfadd79d8 100644 --- a/man/man4/zfs.4 +++ b/man/man4/zfs.4 @@ -2150,6 +2150,11 @@ On very fragmented pools, lowering this .Pq typically to Sy 36 KiB can improve performance. . +.It Sy zil_maxcopied Ns = Ns Sy 7680 Ns B Po 7.5 KiB Pc Pq uint +This sets the maximum number of write bytes logged via WR_COPIED. +It tunes a tradeoff between additional memory copy and possibly worse log +space efficiency vs additional range lock/unlock. +. .It Sy zil_min_commit_timeout Ns = Ns Sy 5000 Pq u64 This sets the minimum delay in nanoseconds ZIL care to delay block commit, waiting for more records. |