1

I'm reading the section Configuring the Cache Object Size Limit. I wonder how ATS efficiently handle large files (for example a movie file). Please shed me some light.

Thanks in advance.

anhldbk
  • 4,559
  • 5
  • 29
  • 37

1 Answers1

2

In General Speaking, ATS is filesystem(the cache storage) is a complex design that will handle many small files and big files, in mix, and with both very efficiently.

Internal: 1, the disk Read/Write is design to write with buffered, the small files are filling into the 1MB write buffer, so on spin disk writing is sequential and much efficient than read which is random.

2, large file is split into 1MB(default) small READ/WRITE fragment, which means in ATS we do IO read/write at size 1MB at the most time when dealing with large files.

please tweak proxy.config.cache.min_average_object_size and proxy.config.cache.target_fragment_size, if you find ATS not perfect.

When coming to the real world CDN and caching system, most sites will do splices on large files to make file transfer more efficient, you can also do that with ATS plugins if you would like ATS do that job for you.

  • Thank you for letting me know. Btw, please tell me the why ATS does NOT use file systems? > "Traffic Server treats its persisent storage as an undifferentiated collection of bytes, assuming no other structure to it. In particular, it does not use the file system of the host operating system." I know we can: 1. store the cache in a big file 2. sequential read any object with tuples of (offset, size) 3. we may employ Zero Copy to efficiently transfer data back to the client. – anhldbk May 16 '17 at 06:54