I have installed a bridge tproxy proxy in a fast server with 8GB ram. The traffic is around 60Mb/s.

When I start for first time the proxy (with the cache empty) the proxy works very well but when the cache becomes full (few hours later) the bridge goes very slow, the traffic goes below 10Mb/s and the proxy server becomes unusable.

Any hints of what may be happening?

I'm using:

  • linux-
  • iptables-
  • squid-3.1.1

compiled with these options:

./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --localstatedir=/var/lib --sysconfdir=/etc/squid --libexecdir=/usr/libexec/squid --localstatedir=/var --datadir=/usr/share/squid --enable-removal-policies=lru,heap --enable-icmp --disable-ident-lookups --enable-cache-digests --enable-delay-pools --enable-arp-acl --with-pthreads --with-large-files --enable-htcp --enable-carp --enable-follow-x-forwarded-for --enable-snmp --enable-ssl --enable-async-io=32 --enable-linux-netfilter --enable-epoll --disable-poll --with-maxfd=16384 --enable-err-languages=Spanish --enable-default-err-language=Spanish

My squid.conf:

cache_mem 100 MB
memory_pools off

acl manager proto cache_object
acl localhost src
acl localhost src ::1/128
acl to_localhost dst
acl to_localhost dst ::1/128

acl localnet src     # RFC1918 possible internal network acl
localnet src  # RFC1918 possible internal network acl
localnet src # 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

acl net-g1 src xxx.xxx.xxx.xxx/24

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

http_access allow manager localhost
http_access deny manager

http_access deny !Safe_ports

http_access deny CONNECT !SSL_ports

http_access allow net-g1

#from where browsing should be allowed
http_access allow localnet
http_access allow localhost

http_access deny all

http_port 3128
http_port 3129 tproxy

hierarchy_stoplist cgi-bin ?

cache_dir ufs /var/spool/squid 8000 16 256

access_log none

cache_log /var/log/squid/cache.log

coredump_dir /var/spool/squid

refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .

I have this issue when the cache is full, but do not really know if it is because of that.

Thanks in advance and sorry my english.

  • Can you post the output of the first 5 lines of "top" when your cache server gets full and slows down? – Hyppy Mar 23 '11 at 12:08
  • how many users do you have? – Diego Woitasen Mar 13 '13 at 12:14

Roberto, what is the size of this FS?

I can see that you use 8000.

cache_dir ufs /var/spool/squid 8000 16 256

Documentation states, that you have to subtract 20% from total space available for cache. Wiki is pointing that 10% should be left for OS accounting structures.

This way or another it is safe to leave some free space!

| improve this answer | |

Are you hitting conntrack limits? cat /proc/sys/net/nf_conntrack_max vs. cat /proc/sys/net/netfilter/nf_conntrack_count - it is safe to increase the maximum, proxies often suffer from large conntrack tables because old stale connections hang about a fair while. These issues can manifest as a "gets slower over time" as it's only when the table fills that issues occur, and if it is filling only relatively slightly faster than it is emptying, that can take a few hours.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.