Hi All,

I set up some squid proxy as reverse proxy for serving large files (~50MB).
If there are about 1200 concurrent connections (each connections
persists about 2 mins, since I have file size ~50MB),
The performance degrades quickly, and cache.log shows:

2008/04/14 22:48:11| comm_old_accept: FD 11: (53) Software caused
connection abort
2008/04/14 22:48:11| httpAccept: FD 11: accept failure: (53) Software
caused connection abort
2008/04/14 22:48:13| comm_old_accept: FD 11: (53) Software caused
connection abort
2008/04/14 22:48:13| httpAccept: FD 11: accept failure: (53) Software
caused connection abort
2008/04/14 22:48:14| comm_old_accept: FD 11: (53) Software caused
connection abort
2008/04/14 22:48:14| httpAccept: FD 11: accept failure: (53) Software
caused connection abort
2008/04/14 22:48:16| comm_old_accept: FD 11: (53) Software caused
connection abort
2008/04/14 22:48:17| httpAccept: FD 11: accept failure: (53) Software
caused connection abort

I use squid-3.0.4 with kqueue on FreeBSD 7.0 RELEASE, with 4 CPUs and
4G RAM. Thank you for any suggestions to make the numbers better.

My squid.conf:

acl all src 0.0.0.0/0
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
#
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
acl PURGE method PURGE

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255

acl pixnet dstdomain .pixnet.net
#  TAG: http_access
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
http_access allow manager localhost
http_access deny manager
http_access allow PURGE localhost
http_access deny PURGE

http_access allow pixnet
http_access deny all

icp_access allow localnet
icp_access deny all

#htcp_access allow localnet
#htcp_access deny all

#  TAG: http_port
http_port 80 accel defaultsite=server.pixnet.net

#  TAG: cache_peer
#       #                                        proxy  icp
#       #          hostname             type     port   port  options
#       #          -------------------- -------- ----- -----  -----------
#       cache_peer parent.foo.net       parent    3128  3130  proxy-only default
#       cache_peer sib1.foo.net         sibling   3128  3130  proxy-only
#       cache_peer sib2.foo.net         sibling   3128  3130  proxy-only
cache_peer server.pixnet.net parent 80 0 no-query originserver

#  TAG: cache_mem       (bytes)
cache_mem 1024 MB
cache_swap_low 80
cache_swap_high 95

maximum_object_size_in_memory 65536 KB

#  TAG: cache_dir
cache_dir aufs /ad6/cache 102400 32 256
cache_dir aufs /ad4/cache 102400 32 256
minimum_object_size 0 KB
maximum_object_size 131072 KB

access_log /var/log/squid/access.log squid
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
logfile_rotate 30
# emulate_httpd_log off
# pid_filename /usr/local/squid/logs/squid.pid
# via on
#accept_filter httpready
memory_pools_limit 3608 MB
forwarded_for on

coredump_dir /ad6/cache
cache_effective_user squid
refresh_pattern . 1440 90% 2880  override-expire ignore-no-cache ignore-no-store
minimum_expiry_time 2592000 seconds
client_db off
buffered_logs on
half_closed_clients off
#debug_options ALL,5 5,9

Reply via email to