Cache: L2ARC Accesses

The L2ARC is the 2nd Level Adaptive Replacement Cache, and is an SSD-based cache that is accessed before reading from the much slower pool disks. The L2ARC is currently intended for random read workloads. This statistic shows L2ARC accesses if L2ARC cache devices are present, allowing its usage and performance to be observed.

When to Check L2ARC Accesses

When investigating performance issues, to check how well the current workload is caching in the L2ARC.

L2ARC Accesses Breakdowns

Table 5-15 Breakdowns of L2ARC Accesses

Breakdown Description

hit/miss

The result of the L2ARC lookup.

filename

The filename that was requested from the L2ARC. Using this breakdown allows hierarchy mode to be used, so that filesystem directories can be navigated.

L2ARC eligibility

This is the eligibility of L2ARC caching, as measured at the time of L2ARC access.

project

This shows the project that is accessing the L2ARC.

share

This shows the share that is accessing the L2ARC.

LUN

This shows the LUN that is accessing the L2ARC.

As described in Execution Performance Impact, breakdown such as by filename would be the most expensive to leave enabled.

Further Analysis

To investigate L2ARC misses, check that the L2ARC has grown enough in size using the Advanced Analytic Cache: L2ARC Size. The L2ARC typically takes hours, if not days, to warm up hundreds of gigabytes when feeding from small random reads. The rate can also be checked by examining writes from Cache: L2ARC I/O Bytes. Also check the Advanced Analytic Cache: L2ARC Errors to see if there are any errors preventing the L2ARC from warming up.

Cache: ARC Accesses by L2ARC eligibility can also be checked to see if the data is eligible for L2ARC caching in the first place. Because the L2ARC is intended for random read workloads, it will ignore sequential or streaming read workloads, allowing them to be returned from the pool disks instead.