Chapter 3 Statistics and Datasets
Determining the impact of a dynamic statistic
Capacity: Capacity Percent Used
Capacity System Pool Bytes Used
Capacity: System Pool Bytes Used
Capacity System Pool Percent Used
Capacity: System Pool Percent Used
Data Movement NDMP Bytes Statistics
Data Movement: NDMP Bytes Statistics
Data Movement NDMP Operations Statistics
Data Movement: NDMP Operations Statistics
Data Movement Replication Bytes
Data Movement: Replication Bytes
Data Movement Replication Operations
Data Movement: Replication Operations
Data Movement Shadow Migration Bytes
Data Movement: Shadow Migration Bytes
Data Movement Shadow Migration Ops
Data Movement: Shadow Migration Ops
Data Movement Shadow Migration Requests
Data Movement: Shadow Migration Requests
Protocol Fibre Channel Operations
Protocol: Fibre Channel Operations
Protocol: HTTP/WebDAV Requests
Data Movement NDMP Bytes Transferred to/from Disk
Data Movement: NDMP Bytes Transferred to/from Disk
Data Movement NDMP Bytes Transferred to/from Tape
Data Movement: NDMP Bytes Transferred to/from Tape
Data Movement NDMP File System Operations
Data Movement: NDMP File System Operations
Data Movement Replication Latencies
Data Movement: Replication Latencies
Disk ZFS Logical I/O Operations
Disk: ZFS Logical I/O Operations
Memory Kernel Memory Lost to Fragmentation
Memory: Kernel Memory Lost to Fragmentation
The ARC is the Adaptive Replacement Cache, and is an in-DRAM cache for filesystem and volume data. This statistic shows accesses to the ARC, and allows its usage and performance to be observed.
When investigating performance issues, to check how well the current workload is caching in the ARC.
Available breakdowns of Cache ARC accesses are:
|
As described in Overhead, breakdown such as by file name would be the most expensive to leave enabled.
The hit/miss states are:
|
Examples of metadata:
Filesystem block pointers
Directory information
Data deduplication tables
ZFS uberblock
Prefetch is a mechanism to improve the performance of streaming read workloads. It examines I/O activity to identify sequential reads, and can issue extra reads ahead of time so that the data can be in cache before the application requests it. Prefetch occurs before the ARC by performing accesses to the ARC - bear this in mind when trying to understand prefetch ARC activity. For example, if you see:
|
After data has been prefetched, the application may then request it with its own ARC accesses. Note that the sizes may be different: prefetch may occur with a 128 Kbyte I/O size, while the application may be reading with an 8 Kbyte I/O size. For example, the following doesn't appear directly related:
data hits: 368
prefetch data misses: 23
However it may be: if prefetch was requesting with a 128 KByte I/O size, 23 x 128 = 2944 Kbytes. And if the application was requesting with an 8 Kbyte I/O size, 368 x 8 = 2944 Kbytes.
To investigate ARC misses, check that the ARC has grown to use available DRAM using Cache ARC size.