On 4/08/2013 7:13 p.m., John Joseph wrote:
Thanks Augustus for the email
my information is
-------------------
[root@proxy squid]# squidclient -h 127.0.0.1 mgr:storedir
HTTP/1.0 200 OK
Server: squid/3.1.10
Mime-Version: 1.0
Date: Sun, 04 Aug 2013 07:01:30 GMT
Content-Type: text/plain
Expires: Sun, 04 Aug 2013 07:01:30 GMT
Last-Modified: Sun, 04 Aug 2013 07:01:30 GMT
X-Cache: MISS from proxy
X-Cache-Lookup: MISS from proxy:3128
Via: 1.0 proxy (squid/3.1.10)
Connection: close
Store Directory Statistics:
Store Entries : 13649421
Maximum Swap Size : 583680000 KB
Current Store Swap Size: 250112280 KB
Current Capacity : 43% used, 57% free
Store Directory #0 (aufs): /opt/var/spool/squid
FS Block Size 4096 Bytes
First level subdirectories: 32
Second level subdirectories: 256
Maximum Size: 583680000 KB
Current Size: 250112280 KB
Percent Used: 42.85%
Filemap bits in use: 13649213 of 16777216 (81%)
Filesystem Space in use: 264249784/854534468 KB (31%)
Filesystem Inodes in use: 13657502/54263808 (25%)
Flags: SELECTED
Removal policy: lru
LRU reference age: 44.69 days
You appear to have a good case there for upgrading to squid-3.2 or later
and adding a rock cache_dir.
As you can see 81% of the Filemap is full. That is the file number codes
Squid uses to internally reference stored objects. There is an absolute
limit of 2^24 (or "1677216" in the above report). That will require an
average object size of 35KB to fill your 557 GB storage area. Your
details earlier said the mean object size actually stored so far was 18KB.
If you add a 50GB rock store alongside that UFS directory you should be
able to double the cached object count.
--------------
and my squid.conf is as
----------------------------------------------
always_direct allow all
cache_log /opt/var/log/squid/cache.log
cache_access_log /opt/var/log/squid/access.log
cache_swap_low 90
cache_swap_high 95
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 172.16.5.0/24 # RFC1918 possible internal network
acl localnet src 172.17.0.0/22 # RFC1918 possible internal network
acl localnet src 192.168.20.0/24 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged)
machines
always_direct allow local-servers
You are using always_direct allow all above. This line is never even
being checked.
Also, always_direct has no meaning when there are no cache_peer lines to
be overridden (which is the purpose of always_direct). You can remove
both the always_direct lines to make things a bit faster.
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
acl ipgroup src 172.16.5.1-172.16.5.255/32
acl ipgroup src 172.17.0.10-172.17.3.254/32
delay_pools 1
delay_class 1 2
delay_parameters 1 2560000/3860000 140000/180000
delay_access 1 allow ipgroup
delay_access 1 deny all
http_access allow localnet
http_access allow localhost
http_access allow localnet
http_access allow localhost
You have doubled these rules up.
http_access deny all
http_port 3128 transparent
It is a good idea to always have 3128 listing for regular proxy traffic
and redirecting the intercepted traffic to a separate port. The
interception port is a private detail only relevant to teh NAT
infrastructure doing the redirection and Squid. It can be firewalled to
prevent any access directly to the port.
hierarchy_stoplist cgi-bin ?
cache_dir aufs /opt/var/spool/squid 570000 32 256
coredump_dir /opt/var/spool/squid
maximum_object_size 4 GB
Can you try placing this above the cache_dir line please and see if it
makes any difference?
refresh_pattern -i \.flv$ 10080 90% 999999 ignore-no-cache override-expire
ignore-private
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
ignore-private and ignore-no-store are actually VERY bad ideas. No
matter that it looks okay for innocent things like images and archives.
Even those types are used in critical systems from time to time (think
security captchas using images, security certificates exchanged in
compressed archive formats, etc, etc).
Please remove them from the above lines. If you need them at all (eg to
fix a specific identifiable problem URL) it is best to target the regex
pattern to the specific domain or URLs.
In general the CMS systems and dynamic page frameworks use no-cache and
Expires to prevent unnecessary caching and force revalidation - 3.1 is
not fully capable of that but an upgrade to recent 3.2 or later releases
Squid can manage no-cache properly.
refresh_pattern -i \.index.(html|htm)$ 0 40% 10080
refresh_pattern -i \.(html|htm|css|js)$ 1440 40% 40320
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 40% 40320
visible_hostname proxy
This should be an FQDN if possible. The error page icons and similar
things will be reference at an HTTP:// URL using the visible hostname as
domain and Squid forward-proxy port as port number. Your configuration
is probably sending traffic to "http://proxy:3128/", whatever that
resolves to in the client machine(s).
icap_enable on
icap_preview_enable on
icap_preview_size 4096
icap_persistent_connections on
icap_send_client_ip on
icap_send_client_username on
icap_service qlproxy1 reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod
icap_service qlproxy2 respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access qlproxy1 allow all
adaptation_access qlproxy2 allow all
------------------------------------------------------------------------
Guidance and advice requested
Thanks for the reply
Joseph John
Amos