I'm trying to analyze the performance of a Flash Cache (PAMII) module and can't seem to find a detailed definition of the "inval" and "evict" metrics. All the documentation simply states the obvious with the very unhelpful "blocks evicted/invalidated from cache per second". Both eviction and invalidation are removal of blocks from the cache, but what I want to know is why are they removed. Essentially what causes an eviction verses an invalidation? Is a block "evicted" because it was never used and a timer expired? Is a block "invalidated" when the cache is full and a useful block is thrown out to make room for a new block?
Thanks,
-Robert
stats show -p flexscale-access
Cache Reads Writes Disk Reads Usage Hit Meta Miss Hit Evict Inval Insert Chain Blocks Chain Blocks Replaced % /s /s /s % /s /s /s /s /s /s /s /s 0 0 0 0 0 0 0 0 0 0 0 0 0
Here are the definitions for those counters: Cache Usage: How much data is currently stored in the module(s) Hit: The 4kB disk block cache hit per second Meta: The 4kB metadata disk block cache hit per second Miss: The 4kB disk block cache missed per second Hit %: The percentage of total hit/miss Evict: The 4kB disk blocks evicted from the cache per second Inval: The 4kB disk blocks invalidated from the cache per second Insert: The 4kB disk blocks inserted into the cache per second Reads Chain: The number of read I/O chains per second Reads Blocks: The number of 4kB disk blocks read per second Writes Chain: The number of write I/O chains per second Writes Blocks: The number of 4kB disk blocks written per second Disk Reads Replaced: The number of reads that would have gone to disk that were replaced by the cache per second