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