Squid – optimizing cache hits
The first place to look for increasing your hit ratio is the refresh_pattern parameter within the squid.conf file.
Note: the following applies to squid 3.0 and higher only….
I have found a really good page here http://linux.com/archive/feature/153221 that explains some good setups if you with to increase your cache hits…
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|swf|flv|x-flv)$ 43200 90% 432000 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|ppt|doc|tiff)$ 10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.index.(html|htm)$ 0 40% 10080
refresh_pattern -i \.(html|htm|css|js)$ 1440 40% 40320
refresh_pattern . 0 40% 40320
This is an example of a site that you may wish to heavily cache…
refresh_pattern -i youtube.com/.* 10080 90% 43200
# REMOVE these lines from squid.conf acl QUERY urlpath_regex cgi-bin \? cache deny QUERY
# Break HTTP standard for flash videos. Keep them in cache even if asked not to. refresh_pattern -i \.flv$ 10080 90% 999999 ignore-no-cache override-expire ignore-private # Apparently youtube.com use 'Range' requests # - not seen, but presumably when a video is stopped for a long while then resumed, (or fast-forwarded). # - convert range requests into a full-file request, so squid can cache it # NP: BUT slows down their _first_ load time. quick_abort_min -1 KB # Also videos are LARGE; make sure you aren't killing them as 'too big to save' # - squid defaults to 4MB, which is too small for videos and even some sound files maximum_object_size 4 GB # Let the clients favorite video site through with full caching # - they can come from any of a number of youtube.com subdomains. # - this is NOT ideal, the 'merging' of identical content is really needed here acl youtube dstdomain .youtube.com cache allow youtube # kept to demonstrate that the refresh_patterns involved above go before this. # You may be missing the CGI pattern, it will need to be added if so. refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 0% 4320