[squid-users] exceeding cache_dir size

From: Mike Mitchell <Mike.Mitchell_at_sas.com>
Date: Wed, 9 Jan 2013 21:56:44 +0000

I'm having problems with squid 3.2.5 exceeding the cache_dir size. I have a 5 GB disk partition with nothing else on it, with a cache_dir size of 3800 MB: cache_dir aufs /cache/squid/aufs 3800 15 253 maximum_object_size 131072 KB Today I found squid had terminated and the /cache partition was 100% full. After a little investigation in the cache directory I found this file: # ls -l 02/8C/00027F4A -rw-r----- 1 nobody nobody 915697664 Jan 8 21:15 02/8C/00027F4A Very strange, a 900 MB file stored when I have a maximum_object_size of 128 MB. Here's the header of the file, with the initial binary data stripped out: http://152.2.63.23/WUNC HTTP/1.0 200 OK Content-Type: application/x-mms-framed Server: Cougar/9.00.00.3372 Date: Tue, 08 Jan 2013 10:14:18 GMT Pragma: no-cache, client-id=3433994619, xResetStrm=1, features="broadcast", timeout=60000, AccelBW=3500000, AccelDuration=20000, Speed=1.000 Cache-Control: no-cache Last-Modified: Tue, 08 Jan 2013 10:14:18 GMT Supported: com.microsoft.wm.srvppair, com.microsoft.wm.sswitch, com.microsoft.wm.predstrm, com.microsoft.wm.fastcache It is a streaming audio of a local radio station. I'm guessing that since there isn't a content-length header squid will store the data until it all arrives, then flush it from disk later on. This is a problem because my swap.state files are on the same partition. When squid can no longer write to swap.state because of the full disk, it terminates. The only solution is to move the swap.state files, but that is counter to the recommendation in the squid.conf.documented file: # TAG: cache_swap_state # Location for the cache "swap.state" file. This index file holds # the metadata of objects saved on disk. It is used to rebuild # the cache during startup. Normally this file resides in each # 'cache_dir' directory, but you may specify an alternate # pathname here. Note you must give a full filename, not just # a directory. Since this is the index for the whole object # list you CANNOT periodically rotate it! ... # them). We recommend you do NOT use this option. It is # better to keep these index files in each 'cache_dir' directory. Since it is possible to have files much larger than maximum_object_size in the cache_dir directory, there is always a possibility of running out of space. Not being able to write swap.state causes squid to abort, which leads me to believe that swap.state should never be on the same partition as the cache_dir directory. Mike Mitchell
Received on Wed Jan 09 2013 - 21:57:01 MST

This archive was generated by hypermail 2.2.0 : Tue Jan 15 2013 - 12:00:04 MST