0 Replies Latest reply: Feb 28, 2014 1:04 AM by crjmsujii RSS

    FMIS 4.5 Caching Structure

    crjmsujii Community Member

      I encountered a peculiar issue with FMIS 4.5 that you may know how to resolve.

      As you know it is possible to configure RTMP VoD caching with FMIS in Vhost.xml config file when a node is configured as a proxy:

       

      <CacheDir enabled="true" useAppName="false">

              <Path>/tmp/</Path>

              <MaxSize>10</MaxSize>

      </CacheDir>

       

      In this folder FMIS creates "buckets" (i.e. directories) with chunks of data, as it’s clearly stated in FMIS documentation.

       

      Is there _any_ way to modify this behavior?

      What I need exactly is a way to flatten this structure, or even add a prefix:

       

      1. /cache/app_name/bucket/chunk  --> /cache/app_name=bucket=chunk
      2. /cache/app_name/bucket/chunk  --> /cache/prefix=app_name=bucket=chunk

       

      Any information would be highly appreciated.

      Thank you.

       

      1. An extract from documentation regarding caching:

      Streams that are played via an edge server can optionally be cached on that edge server’s hard drive to avoid extra network traffic back to the origin. Edge servers manage their disk caches automatically using a least-recently-used (LRU) scheme.

      Edge servers group the cached files on disk into buckets; the files within each bucket are not ordered, but the buckets themselves are ordered by LRU. When an edge server needs to free up disk space, it deletes the entire contents of the least-recently-used buckets. When a file is added, it gets put in the "newest" bucket, and likewise when an existing file is accessed, it is moved to the newest bucket. This maintains the LRU ordering.

      A disk cache is divided up into N buckets, but since all newly accessed content goes into the newest bucket, only the newest bucket actually grows in size. Once that bucket reaches K/N bytes, where K is the maximum size of the disk cache, the server triggers a rollover. A rollover means the server deletes the oldest bucket, and creates a new bucket where new content will go.