ARC & L2ARC
The ARC is the “adaptive replacement cache”.
ARC is a very fast block level cache located in the systems memory.
Any read requests for data in the cache can be served directly from the ARC memory cache instead of hitting the much slower hard drives.
This creates a noticeable performance increase for data that is accessed frequently.
The L2ARC is the second level adaptive replacement cache.
The L2ARC is often called the “cache drive” in ZFS systems.
The algorithms that manage L2ARC population are automatic and intelligent.
The ZIL is the “ZFS intent log”and acts as a logging mechanism to store synchronous writes, until they are safely written to the main data structure on the storage pool.
The speed at which data can be written to the ZIL determines the speed at which synchronous write requests can be done.
By using fast disks as the ZIL, you accelerate the ZIL and improves the synchronous write performance.
Like L2ARC, the ZIL is managed automatically and intelligently by ZFS.
High performance Drives can be added to a storage pool to create a hybrid storage pool.
SSD drives can be added to a ZFS pool as “cache” drives (for the L2ARC) or DRAM drives as “log” drives (for the ZIL).
By adding drives for both the L2ARC and the ZIL, both read and write data is accelerated.