Re: [squid-users] browsing stop when delaypools reach limit

From: pujo mulyono <pudjo26@dont-contact.us>
Date: Sat, 19 Aug 2006 20:13:01 -0700 (PDT)

i have test on squid 2.6stable3 configure with --enable-select instead
of --enable-poll and there's a bit improvement on delay pools
perfomance but not make me satisfied yet :(

./configure option on my openbsd 3.9
====================================
Squid Cache: Version 2.6.STABLE3-20060819
configure options: '-enable-http-violations' '--sysconfdir=/etc/squid'
'--enable-removal-policies=lru,heap' '--enable-storeio=ufs,aufs'
'--enable-delay-pools' '--disable-cache-digests' '--disable-wccp'
'--disable-wccpv2' '--enable-underscores' '--enable-pf-transparent'
'--disable-follow-x-forwarded-for' '--enable-large-cache-files'
'--enable-default-languages=English' '--enable-err-languages=English'
'--disable-ssl' '--disable-ident-lookups' '--disable-hostname-checks'
'--disable-htcp' '--enable-icp'

additional option that effect to delay pools
============================================
--enable-kqueue = bad
--enable-poll = a bit better than kqueue
--enable-select = a bit better than poll
--enable-epoll = not support

my squid.conf
==============
http_port 192.168.2.1:8080
http_port 127.0.0.1:8080 transparent

acl QUERY urlpath_regex cgi-bin \? \.php$ \.asp$ \.shtml$ \.cfm$
\.cfml$ \.phtml$ \.php3$
acl nocache-domain dstdomain .mail.yahoo.com .login.yahoo.com
no_cache deny QUERY
no_cache deny nocache-domain
always_direct allow QUERY
always_direct allow nocache-domain

cache_mem 24 MB
cache_dir aufs /cache 50000 64 256

cache_access_log none
cache_log /var/squid/logs/cache.log
cache_store_log none
pid_filename /var/squid/logs/squid.pid

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i \.gif$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.jpg$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.js$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.css$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.jpeg$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.bmp$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.txt$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.mid$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.wav$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.ico$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.yim$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.jar$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.ldict$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.swf$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.class$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern -i \.cab$ 10080 100% 43200 reload-into-ims
ignore-no-cache ignore-private
refresh_pattern . 10 100% 10080

negative_ttl 5 minutes
positive_dns_ttl 6 hours
negative_dns_ttl 1 minute
connect_timeout 60 seconds
request_timeout 3 minutes
persistent_request_timeout 1 minute
read_timeout 15 minutes
client_lifetime 1 day
half_closed_clients off
pconn_timeout 2 minutes
shutdown_lifetime 1 seconds

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl user src 192.168.2.0/24

acl SSL_ports port 443 563 8443 2095 2082 2086
acl Safe_ports port 21 # ftp
acl Safe_ports port 70 # gopher
acl Safe_ports port 80-65535 # unregistered ports
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

client_db on
acl limit maxconn 16
http_access deny user limit

http_access allow user
http_access deny all

http_reply_access allow user
http_reply_access deny all

icp_access allow user
icp_access deny all

miss_access allow user
miss_access deny all

cache_mgr pudjo26@yahoo.com
cache_effective_user _squid
cache_effective_group _squid
visible_hostname parent.warnetguru.com
coredump_dir /cache

forwarded_for off
log_icp_queries off

acl platinum src 192.168.2.0/27
acl gold src 192.168.32.0/27
acl silver src 192.168.2.64/27
acl diamond src 192.168.2.96/27

delay_pools 4

delay_class 1 2
delay_parameters 1 -1/-1 2000/2000
delay_access 1 allow silver
delay_access 1 deny all

delay_class 2 2
delay_parameters 2 -1/-1 4000/4000
delay_access 2 allow gold
delay_access 2 deny all

delay_class 3 2
delay_parameters 3 -1/-1 6000/6000
delay_access 3 allow platinum
delay_access 3 deny all

delay_class 4 2
delay_parameters 4 -1/-1 12000/12000
delay_access 4 allow diamond
delay_access 4 deny all

via off

client side test environtment
=============================
platinum users with delay pools 6000/6000
download manager, download 1 file with pararel 8 http sessions
browsing with firefox while downloading

problem
=======
delay pools sometimes cant make fair queueing that let download eat all
allocated bandwith so browsing is not possible or got very long time
wait before html page requested appear because too small free bandwith
available.

what else should i do to make delay pools working smoother?

regards,
Pudjo

__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
Received on Sat Aug 19 2006 - 21:13:09 MDT

This archive was generated by hypermail pre-2.1.9 : Fri Sep 01 2006 - 12:00:02 MDT