今天对我的varnish进行了下小小的压力测试,40s里的8000并发,没有失败一个,估计还可以承受更大的并发,先不说varnish了,我最近找到个命中率很高的squid的配置文件,当然是squid3.0的配置文件,有需要的可以copy回去自己改.
  系统:centos 5.x
  需要的软件:squid-3.0.STABLE25.tar.gz
1.下载squid
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		wget http://www.sq**u*id-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
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 ./configure --prefix=/usr/local/squid  
--enable-async-io=100  
--with-pthreads  
--enable-storeio="aufs,diskd,ufs"  
--enable-removal-policies="heap,lru"  
--enable-icmp  
--enable-delay-pools  
--enable-useragent-log  
--enable-referer-log  
--enable-kill-parent-hack  
--enable-arp-acl  
--enable-default-err-language=Simplify_Chinese  
--enable-err-languages="Simplify_Chinese English"  
--disable-poll  
--disable-wccp  
--disable-wccpv2  
--disable-ident-lookups  
--disable-internal-dns  
--enable-basic-auth-helpers="NCSA"  
--enable-stacktrace  
--with-large-files  
--disable-mempools  
--with-filedescriptors=65536  
--enable-ssl  
--enable-x-accelerator-var 
make 
make install 
make 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里的内容:
	  
		|  代码如下 | 
		复制代码 | 
	  
	  
		| 
 #accel listen port 
http_port 80 accel vhost vport 
#accel domain 
cache_peer xx.xx.xx.xx parent 80 0 no-query originserver no-digest name=a 
cache_peer_domain a www.111com.net 
  
#acl 
acl manager proto cache_object 
acl localhost src 127.0.0.1/255.255.255.255 
acl SSL_ports port 443 563 
acl Safe_ports port 80       # http 
acl Safe_ports port 8080 
acl LanSrc src all 
acl LanDst dst all 
acl LanDstDM dstdomain www.111com.net 
  
acl CONNECT method CONNECT 
http_access allow manager localhost 
http_access deny manager 
http_access deny !Safe_ports 
http_access deny CONNECT !SSL_ports 
http_access allow LanSrc 
http_access allow LanDst 
http_access allow LanDstDM 
http_access deny   all 
  
#base 
visible_hostname www.111com.net 
cache_mgr [email protected] 
cache_effective_user squid 
cache_effective_group squid 
  
error_directory /usr/local/squid/share/errors/Simplify_Chinese 
icon_directory /usr/local/squid/share/icons 
mime_table /usr/local/squid/etc/mime.conf 
  
cache_replacement_policy lru 
#cache_dir 
cache_dir aufs /var/cache1 32768 64 64 
cache_dir aufs /var/cache2 32768 64 64 
cache_mem 2048 MB 
max_open_disk_fds 0 
#maximum_object_size 512 KB 
#maximum_object_size_in_memory 256 KB 
maximum_object_size 20 MB 
maximum_object_size_in_memory 8 MB 
  
#keepalived 
client_persistent_connections off 
server_persistent_connections on 
#persistent_request_timeout 60 seconds 
  
#memory_pools on 
#memory_pools_limit 64 MB 
  
forwarded_for on 
log_icp_queries off 
  
via off 
httpd_suppress_version_string off 
  
ie_refresh off 
tcp_recv_bufsize 32 KB 
  
#acl webservices rep_header Server -i ^linuxtoneWS ^Apache ^nginx 
#broken_vary_encoding allow webservices 
  
#hidden the squid header 
#reply_header_access Server deny all 
#reply_header_access X-Cache deny all 
#reply_header_access Warning deny all 
#reply_header_access Expires deny all 
#reply_header_access Cache-Control deny all 
#reply_header_access age deny all 
#reply_header_access All deny all 
  
ipcache_size 1024 
ipcache_low 90 
ipcache_high 95 
  
memory_replacement_policy lru 
  
hosts_file /etc/hosts 
request_header_max_size 128 KB 
  
#deny cache 
hierarchy_stoplist cgi-bin ? .php 
acl QUERY urlpath_regex cgi-bin? .php 
cache deny QUERY 
  
#request_body_max_size 0 KB 
  
refresh_pattern ^ftp:           60      20%     10080 
refresh_pattern ^gopher:        60      0%      1440 
refresh_pattern .               0       20%     1440 
refresh_pattern -i .css$       360    50%     2880    reload-into-ims 
refresh_pattern -i .js$        1440    50%     2880    reload-into-ims 
refresh_pattern -i .html$        720   50%     1440    reload-into-ims 
refresh_pattern -i .jpg$       1440    90%     2880    ignore-reload 
refresh_pattern -i .gif$       1440    90%     2880    ignore-reload 
refresh_pattern -i .swf$       1440    90%     2880    ignore-reload 
refresh_pattern -i .jpg$       1440      50%     2880    ignore-reload 
refresh_pattern -i .png$       1440      50%     2880      ignore-reload 
refresh_pattern -i .bmp$       1440      50%     2880      ignore-reload 
  
refresh_pattern -i .doc$ 1440    50%     2880      ignore-reload 
refresh_pattern -i .ppt$ 1440    50%     2880      ignore-reload 
refresh_pattern -i .xls$ 1440    50%     2880      ignore-reload 
refresh_pattern -i .pdf$ 1440    50%     2880      ignore-reload 
refresh_pattern -i .rar$       1440    50%     2880      ignore-reload 
refresh_pattern -i .zip$ 1440    50%     2880      ignore-reload 
refresh_pattern -i .txt$ 1440    50%     2880      ignore-reload 
  
quick_abort_min 20 KB 
quick_abort_max 20 KB 
quick_abort_pct 95 
  
connect_timeout 1 minute 
negative_ttl 0 minutes 
read_timeout 30 seconds 
pconn_timeout 120 seconds 
shutdown_lifetime 5 seconds 
strip_query_terms off 
  
#snmp 
#snmp_port 3401 
#acl snmppublic snmp_orgmunity snsimg 
#snmp_access allow snmppublic localhost 
#snmp_access deny all 
  
icp_port 0 
  
# logfile 
emulate_httpd_log on 
#logformat combined %{X-Forwarded-For}>h %ui %un [%tl] “%rm %ru HTTP/%rv” %Hs %h” “%{User-Agent}>h” %Ss:%Sh 
#access_log none 
#access_log /data/logs/access.log combined 
logformat squid  %ts.%03tu %6tr %>a %Ss/%03Hs %
#cache_store_log /var/log/squid/store.log 
cache_store_log /dev/null 
cache_log /var/log/squid/cache.log 
logfile_rotate 12 
  
# MISCELLANEOUS 
store_objects_per_bucket 15 
client_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的使用命令就只能你们自己去搜了,就到这里了.