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]

Reply via email to