Increase L2ARC write rate and headroom
Current L2ARC write rate and headroom parameters are very conservative: l2arc_write_max=8M and l2arc_headroom=2 (ie: a full L2ARC writes at 8 MB/s, scanning 16/32 MB of ARC tail each time; a warming L2ARC runs at 2x these rates). These values were selected 15+ years ago based on then-current SSDs size, performance and endurance. Today we have multi-TB, fast and cheap SSDs which can sustain much higher read/write rates. For this reason, this patch increases l2arc_write_max to 32M and l2arc_headroom to 8 (4x increase for both). Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Gionatan Danti <g.danti@assyoma.it> Closes #15457
This commit is contained in:
parent
1c1be60fa2
commit
887a3c533b
|
@ -97,7 +97,7 @@ and only applicable in related situations.
|
||||||
.It Sy l2arc_feed_secs Ns = Ns Sy 1 Pq u64
|
.It Sy l2arc_feed_secs Ns = Ns Sy 1 Pq u64
|
||||||
Seconds between L2ARC writing.
|
Seconds between L2ARC writing.
|
||||||
.
|
.
|
||||||
.It Sy l2arc_headroom Ns = Ns Sy 2 Pq u64
|
.It Sy l2arc_headroom Ns = Ns Sy 8 Pq u64
|
||||||
How far through the ARC lists to search for L2ARC cacheable content,
|
How far through the ARC lists to search for L2ARC cacheable content,
|
||||||
expressed as a multiplier of
|
expressed as a multiplier of
|
||||||
.Sy l2arc_write_max .
|
.Sy l2arc_write_max .
|
||||||
|
@ -200,12 +200,12 @@ to enable caching/reading prefetches to/from L2ARC.
|
||||||
.It Sy l2arc_norw Ns = Ns Sy 0 Ns | Ns 1 Pq int
|
.It Sy l2arc_norw Ns = Ns Sy 0 Ns | Ns 1 Pq int
|
||||||
No reads during writes.
|
No reads during writes.
|
||||||
.
|
.
|
||||||
.It Sy l2arc_write_boost Ns = Ns Sy 8388608 Ns B Po 8 MiB Pc Pq u64
|
.It Sy l2arc_write_boost Ns = Ns Sy 33554432 Ns B Po 32 MiB Pc Pq u64
|
||||||
Cold L2ARC devices will have
|
Cold L2ARC devices will have
|
||||||
.Sy l2arc_write_max
|
.Sy l2arc_write_max
|
||||||
increased by this amount while they remain cold.
|
increased by this amount while they remain cold.
|
||||||
.
|
.
|
||||||
.It Sy l2arc_write_max Ns = Ns Sy 8388608 Ns B Po 8 MiB Pc Pq u64
|
.It Sy l2arc_write_max Ns = Ns Sy 33554432 Ns B Po 32 MiB Pc Pq u64
|
||||||
Max write bytes per interval.
|
Max write bytes per interval.
|
||||||
.
|
.
|
||||||
.It Sy l2arc_rebuild_enabled Ns = Ns Sy 1 Ns | Ns 0 Pq int
|
.It Sy l2arc_rebuild_enabled Ns = Ns Sy 1 Ns | Ns 0 Pq int
|
||||||
|
|
|
@ -776,8 +776,8 @@ uint64_t zfs_crc64_table[256];
|
||||||
* Level 2 ARC
|
* Level 2 ARC
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define L2ARC_WRITE_SIZE (8 * 1024 * 1024) /* initial write max */
|
#define L2ARC_WRITE_SIZE (32 * 1024 * 1024) /* initial write max */
|
||||||
#define L2ARC_HEADROOM 2 /* num of writes */
|
#define L2ARC_HEADROOM 8 /* num of writes */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we discover during ARC scan any buffers to be compressed, we boost
|
* If we discover during ARC scan any buffers to be compressed, we boost
|
||||||
|
|
Loading…
Reference in New Issue