squid3(高命中率)缓存服务器配置

post by rocdk890 / 2014-10-15 11:28 Wednesday linux技术
  今天对我的varnish进行了下小小的压力测试,40s里的8000并发,没有失败一个,估计还可以承受更大的并发,先不说varnish了,我最近找到个命中率很高的squid的配置文件,当然是squid3.0的配置文件,有需要的可以copy回去自己改.
  系统:centos 5.x
  需要的软件:squid-3.0.STABLE25.tar.gz
1.下载squid
wget http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz
tar zxf squid-3.0.STABLE25.tar.gz && cd squid-3.0.STABLE25

2.编译squid
01./configure --prefix=/usr/local/squid \
02--enable-async-io=100 \
03--with-pthreads \
04--enable-storeio="aufs,diskd,ufs" \
05--enable-removal-policies="heap,lru" \
06--enable-icmp \
07--enable-delay-pools \
08--enable-useragent-log \
09--enable-referer-log \
10--enable-kill-parent-hack \
11--enable-arp-acl \
12--enable-default-err-language=Simplify_Chinese \
13--enable-err-languages="Simplify_Chinese English" \
14--disable-poll \
15--disable-wccp \
16--disable-wccpv2 \
17--disable-ident-lookups \
18--disable-internal-dns \
19--enable-basic-auth-helpers="NCSA" \
20--enable-stacktrace \
21--with-large-files \
22--disable-mempools \
23--with-filedescriptors=65536 \
24--enable-ssl \
25--enable-x-accelerator-var
26 
27make
28make install
29make install-pinger


3.配置squid
cp /usr/local/squid/etc/squid.conf /usr/local/squid/etc/squid.conf.old
>/usr/local/squid/etc/squid.conf
ln -s /usr/local/squid/etc/squid.conf /etc/squid.conf

squid.conf里的内容:
001#accel listen port
002http_port 80 accel vhost vport
003#accel domain
004cache_peer xx.xx.xx.xx parent 80 0 no-query originserver no-digest name=a
005cache_peer_domain a blog.slogra.com
006  
007#acl
008acl manager proto cache_object
009acl localhost src 127.0.0.1/255.255.255.255
010acl SSL_ports port 443 563
011acl Safe_ports port 80       # http
012acl Safe_ports port 8080
013acl LanSrc src all
014acl LanDst dst all
015acl LanDstDM dstdomain blog.slogra.com
016  
017acl CONNECT method CONNECT
018http_access allow manager localhost
019http_access deny manager
020http_access deny !Safe_ports
021http_access deny CONNECT !SSL_ports
022http_access allow LanSrc
023http_access allow LanDst
024http_access allow LanDstDM
025http_access deny   all
026  
027#base
028visible_hostname blog.slogra.com
029cache_mgr rocdk890@gmail.com
030cache_effective_user squid
031cache_effective_group squid
032  
033error_directory /usr/local/squid/share/errors/Simplify_Chinese
034icon_directory /usr/local/squid/share/icons
035mime_table /usr/local/squid/etc/mime.conf
036  
037cache_replacement_policy lru
038#cache_dir
039cache_dir aufs /var/cache1 32768 64 64
040cache_dir aufs /var/cache2 32768 64 64
041cache_mem 2048 MB
042max_open_disk_fds 0
043#maximum_object_size 512 KB
044#maximum_object_size_in_memory 256 KB
045maximum_object_size 20 MB
046maximum_object_size_in_memory 8 MB
047  
048#keepalived
049client_persistent_connections off
050server_persistent_connections on
051#persistent_request_timeout 60 seconds
052  
053#memory_pools on
054#memory_pools_limit 64 MB
055  
056forwarded_for on
057log_icp_queries off
058  
059via off
060httpd_suppress_version_string off
061  
062ie_refresh off
063tcp_recv_bufsize 32 KB
064  
065#acl webservices rep_header Server -i ^linuxtoneWS ^Apache ^nginx
066#broken_vary_encoding allow webservices
067  
068#hidden the squid header
069#reply_header_access Server deny all
070#reply_header_access X-Cache deny all
071#reply_header_access Warning deny all
072#reply_header_access Expires deny all
073#reply_header_access Cache-Control deny all
074#reply_header_access age deny all
075#reply_header_access All deny all
076  
077ipcache_size 1024
078ipcache_low 90
079ipcache_high 95
080  
081memory_replacement_policy lru
082  
083hosts_file /etc/hosts
084request_header_max_size 128 KB
085  
086#deny cache
087hierarchy_stoplist cgi-bin ? \.php
088acl QUERY urlpath_regex cgi-bin\? \.php
089cache deny QUERY
090  
091#request_body_max_size 0 KB
092  
093refresh_pattern ^ftp:           60      20%     10080
094refresh_pattern ^gopher:        60      0%      1440
095refresh_pattern .               0       20%     1440
096refresh_pattern -i \.css$       360    50%     2880    reload-into-ims
097refresh_pattern -i \.js$        1440    50%     2880    reload-into-ims
098refresh_pattern -i \.html$        720   50%     1440    reload-into-ims
099refresh_pattern -i \.jpg$       1440    90%     2880    ignore-reload
100refresh_pattern -i \.gif$       1440    90%     2880    ignore-reload
101refresh_pattern -i \.swf$       1440    90%     2880    ignore-reload
102refresh_pattern -i \.jpg$       1440      50%     2880    ignore-reload
103refresh_pattern -i \.png$       1440      50%     2880      ignore-reload
104refresh_pattern -i \.bmp$       1440      50%     2880      ignore-reload
105  
106refresh_pattern -i \.doc$ 1440    50%     2880      ignore-reload
107refresh_pattern -i \.ppt$ 1440    50%     2880      ignore-reload
108refresh_pattern -i \.xls$ 1440    50%     2880      ignore-reload
109refresh_pattern -i \.pdf$ 1440    50%     2880      ignore-reload
110refresh_pattern -i \.rar$       1440    50%     2880      ignore-reload
111refresh_pattern -i \.zip$ 1440    50%     2880      ignore-reload
112refresh_pattern -i \.txt$ 1440    50%     2880      ignore-reload
113  
114quick_abort_min 20 KB
115quick_abort_max 20 KB
116quick_abort_pct 95
117  
118connect_timeout 1 minute
119negative_ttl 0 minutes
120read_timeout 30 seconds
121pconn_timeout 120 seconds
122shutdown_lifetime 5 seconds
123strip_query_terms off
124  
125#snmp
126#snmp_port 3401
127#acl snmppublic snmp_orgmunity snsimg
128#snmp_access allow snmppublic localhost
129#snmp_access deny all
130  
131icp_port 0
132  
133# logfile
134emulate_httpd_log on
135#logformat combined %{X-Forwarded-For}>h %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %<st “%{Referer}>h” “%{User-Agent}>h” %Ss:%Sh
136#access_log none
137#access_log /data/logs/access.log combined
138logformat squid  %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
139access_log /var/log/squid/access.log squid
140#cache_store_log /var/log/squid/store.log
141cache_store_log /dev/null
142cache_log /var/log/squid/cache.log
143logfile_rotate 12
144  
145# MISCELLANEOUS
146store_objects_per_bucket 15
147client_db off

4.创建目录
/usr/sbin/groupadd squid
/usr/sbin/useradd -g squid squid
mkdir -p /var/log/squid
chown -R squid:squid /var/log/squid
mkdir -p /var/{cache1,cache2}
chown -R squid:squid /var/{cache1,cache2}

初始化squid的cache目录
/usr/local/squid/sbin/squid -z

启动squid
/usr/local/squid/sbin/squid -D
如果大家不喜欢这样的启动方式,可以自己去找个squid的启动脚本,这里就不放出了.当squid运行起来了之后,大家可以使用下面这个命令来查看命中率:
/usr/local/squid/bin/squidclient -p 80 mgr:info

好了,具体其他squid的使用命令就只能你们自己去搜了,就到这里了.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-551.html

标签: squid 加速 cache 缓存 高命中率

评论:

正在载入...