> 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.

I think you are getting close to the top of the range we have benchmarked
squid-3 at. Do you have any performance graphs we could use?

#1 - Check the number of file descriptors your cache is allowed and using.
You may need to rebuild with a larger set.

#2 - maybe run a second squid on that machine. Squid only takes up one CPU
(helpers another maybe).

Nothing obvious in the config. Just a few minor tweaks FYI:

 cache_store_log. - pretty specialized for debugging the cache storage. A
waste of disk accesses otherwise.

 acl all src * - A built-in default for squid 3.x. You can drop it from
the config to clear up some warnings.

 debug_options - probably "ALL,0" to get the critical info without many
entries.


Amos

>
> 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