SolidWallOfCode commented on issue #8998:
URL: https://github.com/apache/trafficserver/issues/8998#issuecomment-1289758836
The extra storage for each hit is expected. This is because
1. As far as ATS is concerned all of the cache storage is in use all the
time. It is 100% full at all times because it is treated as a circular buffer.
2. Each cache object has a "first doc" which contains metadata for the
object (and sometimes the object also, if it's small). However, nothing in the
cache is ever updated. What appears to be an update is really a new write to
the cache. E.g. if the object is in cache and the metadata needs to be updated,
a new copy of the metadata ("first doc") is written to the cache. This is very
likely what you see as the "extra storage" used.
I also suspect the 500MB write to cache storage is stripe directory
synchronization. Each stripe of cache storage has a directory which locates
objects in the cache. Two copies of this are written to disk. The [cache
architecture](https://docs.trafficserver.apache.org/developer-guide/cache-architecture/architecture.en.html#cache-layout)
documentation might be of interest, particular [storage
layout](https://docs.trafficserver.apache.org/developer-guide/cache-architecture/architecture.en.html#storage-layout).
To recover from crashes with minimal cache update loss, the stripe directory
is written out every minute or so. Unfortunately this configuration variable
does not appear to be documented.
`proxy.config.cache.dir.sync_frequency` - time in seconds between stripe
directory writes. Default is 60 (seconds). I will try to update the
documentation.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]