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

2009-10-21 Thread Amos Jeffries

GaneshKumar Natarajan wrote:

Thanks Amos.


Is this with the gzip feature already enabled?

NO. gzip is not enabled in 3.1 and also client doesnt send accept-encoding.
the request are typically the same that was sent to 2.6 version.

Is the web server agent sending chunked replies?

NO

 both could be noticeably slower as the entire object needs to be
re-formatted.



we have 32 GB, but we use only 50% of it. how much we could increase
cache_mem ?


It depends highly o the traffic load and object sizes. Best-practice is 
to start small'ish and increase it gradually while watching that RAM 
does not get full or start to swap. swapping is very bad for performance.



also i will try heap LRU as you suggested for memory_replacement_policy.

let me know, if you need any  other  options to try.
I will run the test again and post some results to you.


I can't think of anything that would be useful for a general benchmark.

Thanks.
Amos



Ganesh

On Tue, Oct 20, 2009 at 6:44 PM, Amos Jeffries squ...@treenet.co.nz wrote:

On Tue, 20 Oct 2009 13:43:05 -0400, GaneshKumar Natarajan
itisg...@gmail.com wrote:

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... )
This is a bit strange. The other benchmarks I've seen (2.6STABLE5 vs
3.0STABLE2) show a small lag increase of around 10% for small objects and a
large 10x decrease for MB sized objects. But not a 10x increase. This is
one of the first benchmarks received for 3.1 so its hard to say where its
coming from.

Is this with the gzip feature already enabled?
Is the web server agent sending chunked replies?
 both could be noticeably slower as the entire object needs to be
re-formatted.

3.1 does not yet do collapsed forwarding (planned for merge 3.2 if anyone
gets time), that might also be having an effect.


---

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?

cache_mem would have been the key one.


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 ?

Has not yet had serious testing for loads. I've only seen two quality
independent benchmarks since 2.5.
Adrian did a lot of benchmarking and tuning, then only plugged the results
back into 2.7, leaving 3.x out in the cold.
The 12-18 months of work for 3.2 is geared at pushing the bar up again
trying to surpass 2.7.



   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

The above may be limiting the 3.1 large object results. 3.1 no longer has
the huge object speed limitations that 2.x does, so this can be increased
provided the RAM can cope.


ipcache_size 2048
ipcache_low 95
ipcache_high 98
cache_replacement_policy lru
memory_replacement_policy lru

heap types are better here regardless of the squid version.


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:   

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

2009-10-20 Thread GaneshKumar Natarajan
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:   144020% 10080
refresh_pattern ^gopher:14400%  1440
refresh_pattern .   1440100%1440ignore-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

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

2009-10-20 Thread Amos Jeffries
On Tue, 20 Oct 2009 13:43:05 -0400, GaneshKumar Natarajan
itisg...@gmail.com wrote:
 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... )
 

This is a bit strange. The other benchmarks I've seen (2.6STABLE5 vs
3.0STABLE2) show a small lag increase of around 10% for small objects and a
large 10x decrease for MB sized objects. But not a 10x increase. This is
one of the first benchmarks received for 3.1 so its hard to say where its
coming from.

Is this with the gzip feature already enabled?
Is the web server agent sending chunked replies?
 both could be noticeably slower as the entire object needs to be
re-formatted.

3.1 does not yet do collapsed forwarding (planned for merge 3.2 if anyone
gets time), that might also be having an effect.

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

cache_mem would have been the key one.

 
 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 ?

Has not yet had serious testing for loads. I've only seen two quality
independent benchmarks since 2.5.
Adrian did a lot of benchmarking and tuning, then only plugged the results
back into 2.7, leaving 3.x out in the cold.
The 12-18 months of work for 3.2 is geared at pushing the bar up again
trying to surpass 2.7.


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

The above may be limiting the 3.1 large object results. 3.1 no longer has
the huge object speed limitations that 2.x does, so this can be increased
provided the RAM can cope.

 ipcache_size 2048
 ipcache_low 95
 ipcache_high 98
 cache_replacement_policy lru
 memory_replacement_policy lru

heap types are better here regardless of the squid version.

 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:   144020% 10080
 refresh_pattern ^gopher:14400%  1440
 refresh_pattern .   1440100%1440ignore-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 

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

2009-10-20 Thread GaneshKumar Natarajan
Thanks Amos.

 Is this with the gzip feature already enabled?
NO. gzip is not enabled in 3.1 and also client doesnt send accept-encoding.
the request are typically the same that was sent to 2.6 version.
 Is the web server agent sending chunked replies?
NO
  both could be noticeably slower as the entire object needs to be
 re-formatted.


we have 32 GB, but we use only 50% of it. how much we could increase
cache_mem ?
also i will try heap LRU as you suggested for memory_replacement_policy.

let me know, if you need any  other  options to try.
I will run the test again and post some results to you.

Ganesh

On Tue, Oct 20, 2009 at 6:44 PM, Amos Jeffries squ...@treenet.co.nz wrote:
 On Tue, 20 Oct 2009 13:43:05 -0400, GaneshKumar Natarajan
 itisg...@gmail.com wrote:
 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... )


 This is a bit strange. The other benchmarks I've seen (2.6STABLE5 vs
 3.0STABLE2) show a small lag increase of around 10% for small objects and a
 large 10x decrease for MB sized objects. But not a 10x increase. This is
 one of the first benchmarks received for 3.1 so its hard to say where its
 coming from.

 Is this with the gzip feature already enabled?
 Is the web server agent sending chunked replies?
  both could be noticeably slower as the entire object needs to be
 re-formatted.

 3.1 does not yet do collapsed forwarding (planned for merge 3.2 if anyone
 gets time), that might also be having an effect.

 ---

 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?

 cache_mem would have been the key one.


 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 ?

 Has not yet had serious testing for loads. I've only seen two quality
 independent benchmarks since 2.5.
 Adrian did a lot of benchmarking and tuning, then only plugged the results
 back into 2.7, leaving 3.x out in the cold.
 The 12-18 months of work for 3.2 is geared at pushing the bar up again
 trying to surpass 2.7.


    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

 The above may be limiting the 3.1 large object results. 3.1 no longer has
 the huge object speed limitations that 2.x does, so this can be increased
 provided the RAM can cope.

 ipcache_size 2048
 ipcache_low 95
 ipcache_high 98
 cache_replacement_policy lru
 memory_replacement_policy lru

 heap types are better here regardless of the squid version.

 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