[squid-users] squid 3.1.0.13 performance results ready - reverse proxy - (2.6.x vs 3.1.x) - need help

From: GaneshKumar Natarajan <itisgany_at_gmail.com>
Date: Tue, 20 Oct 2009 13:43:05 -0400

We wanted to evaluate 3.1.0.13 squid to move from our current squid
version of 2.6.x ( stable 4 + few custom changes )

We did the following performance test from a Avalance setup.

1. preload objects in squid cache.
2. 3500 transactions/sec with 90-10 hit-miss ratio.
3. mean size of object 23 kb.
4. ran it for 30 minutes. ( 5 min ramp up to load 3500, 20 min with
load 3500, 5 min to cool down )

Average response time Results we got.

2.6.x version = 22 milli second
3.1.0.13 = 274 milli second. ( the graph increases over period of time... )

---
similarly, we did for large objects with 40 transaction/sec, mean
object size 1.8 MB.
2.6.x => 91 ms,  squid 3.1.0.13 => 109 ms.
this is somewhat ok..
---
We wanted to move to 3.1.0.13 to make use of gzip+ecap feature and
other 3.1 features, but this performance results is disappointing.
The OS and squid.conf parameters for small file objects are typically
the same for both 2.6 and 3.1 setup.
[ to mention a few: cache_mem = 16 GB ( we have 32 GB max ),
    max_object_size_in_memory = 1 MB
refer config file below ]
Questions:
1. Is there any paramater am missing for 3.1 squid, which would help
to improve performance for high loads?
2. Or Is squid 3.1 really not ready yet for high load situations for
small objects? Any performance related work going on, any
dates/versions to expect ?
   am giving the squid.conf entries 3.1 (its the same for 2.6 also ).
let me know, if you need any other details.
Regards,
Ganesh
OS
--
linux RH4 -release 8
Linux 2.6.9-89.ELsmp #1 SMP Mon Apr 20 10:33:05 EDT 2009 x86_64 x86_64
x86_64 GNU/Linux
SQUID 3.1.0.13 Squid.conf entries for Small file objects
--------------------------------------------------------
(note: the following squid parameters were the same for 2.6 squid.)
http_port 80 vhost vport=80
acl port80 port 80
icp_port 0
udp_incoming_address 0.0.0.0
udp_outgoing_address 255.255.255.255
icp_query_timeout 0
maximum_icp_query_timeout 2000
mcast_icp_query_timeout 2000
dead_peer_timeout 10 seconds
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex \?
acl CGI urlpath_regex cgi-bin
acl readCommunityString snmp_community icds-nms
acl LMS src 192.168.2.4
snmp_access allow readCommunityString all
acl apache rep_header Server ^Apache
cache_swap_low 95
cache_swap_high 98
maximum_object_size 100 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 1 MB
ipcache_size 2048
ipcache_low 95
ipcache_high 98
cache_replacement_policy lru
memory_replacement_policy lru
cache_log /squid/logs/cache.log
cache_store_log none
log_ip_on_direct on
debug_options ALL,1
client_netmask 255.255.255.255
dns_timeout 10 seconds
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               1440    100%    1440    ignore-reload
quick_abort_min -1 KB
quick_abort_max 16 KB
quick_abort_pct 95
negative_ttl 1 minutes
positive_dns_ttl 1 hour
negative_dns_ttl 1 minute
range_offset_limit -1 MB
connect_timeout 5 seconds
peer_connect_timeout 5 seconds
read_timeout 60 seconds
request_timeout 10 seconds
persistent_request_timeout 10 minutes
pconn_timeout 120 seconds
shutdown_lifetime 30 seconds
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl SSL_ports port 443 563
acl Safe_ports port 80
acl OBJECT method OBJECT
acl CONNECT method CONNECT
acl PURGE method PURGE
acl Safe_methods method GET POST HEAD PUT
acl Safe_protos proto HTTP
http_access allow manager localhost1
http_access allow manager localhost
http_access deny manager
http_access allow Safe_methods
http_access allow PURGE localhost1
http_access allow PURGE localhost
http_access allow OBJECT localhost
http_access allow OBJECT localhost1
http_access deny PURGE
http_access deny OBJECT
http_access deny !Safe_ports
http_access deny !Safe_protos
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all
reply_header_max_size 20 KB
cache_mgr webmaster
cache_effective_user icds
announce_host dummy.net
announce_port 3131
forwarded_for on
icp_hit_stale on
cachemgr_passwd passw0rd info stats/objects
client_db off
maximum_single_addr_tries 1
snmp_port 161
offline_mode off
uri_whitespace encode
nonhierarchical_direct on
prefer_direct off
strip_query_terms off
coredump_dir none
redirector_bypass off
client_persistent_connections on
server_persistent_connections on
cache_dir aufs /squid/cache0 158522 29 830
cache_dir aufs /squid/cache1 252949 29 830
cache_dir aufs /squid/cache2 252949 29 830
cache_dir aufs /squid/cache3 252949 29 830
cache_dir aufs /squid/cache4 252949 29 830
cache_dir aufs /squid/cache5 252949 29 830
request_body_max_size 100 KB
request_header_max_size 8 KB
minimum_expiry_time 0 seconds
read_ahead_gap 400 KB
cache_mem 16083 MB
acl 1001 dstdomain www1.acm.com
acl 1002 dstdomain www2.acm.com
acl 1003 dstdomain www3.acm.com
...
acl 1025 dstdomain www25.acm.com
cache_peer xxx parent 8000 0 no-query originserver forceddomain=www.acm.com
cache_peer_access 10.0.1.4 allow 1001
cache_peer_access 10.0.1.4 allow 1002
cache_peer_access 10.0.1.4 allow 1003
...
cache_peer_access 10.0.1.4 allow 1025
logformat L1001 %{%m/%d/%Y %H:%M:%S}tl   %>a   %la   "%ru"       %>Hs
   %{Content-Length}<h       %<st       %>st       %tr
"%{Referer}>h"    %Ss     %<A     %{Content-Range}<h
logformat L1002 %{%m/%d/%Y %H:%M:%S}tl   %>a   %la   "%ru"       %>Hs
   %{Content-Length}<h       %<st       %>st       %tr
"%{Referer}>h"    %Ss     %<A     %{Content-Range}<h
...
logformat L1025 %{%m/%d/%Y %H:%M:%S}tl   %>a   %la   "%ru"       %>Hs
   %{Content-Length}<h       %<st       %>st       %tr
"%{Referer}>h"    %Ss     %<A     %{Content-Range}<h
access_log /squid/logs/queue/1001/log L1001 1001
access_log /squid/logs/queue/1002/log L1002 1002
access_log /squid/logs/queue/1003/log L1003 1003
...
access_log /squid/logs/queue/1025/log L1025 1025
Received on Tue Oct 20 2009 - 17:43:14 MDT

This archive was generated by hypermail 2.2.0 : Wed Oct 21 2009 - 12:00:02 MDT