今天对我的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 \ |
04 |
-- enable -storeio= "aufs,diskd,ufs" \ |
05 |
-- enable -removal-policies= "heap,lru" \ |
07 |
-- enable -delay-pools \ |
08 |
-- enable -useragent-log \ |
09 |
-- enable -referer-log \ |
10 |
-- enable - kill -parent-hack \ |
12 |
-- enable -default-err-language=Simplify_Chinese \ |
13 |
-- enable -err-languages= "Simplify_Chinese English" \ |
17 |
--disable-ident-lookups \ |
18 |
--disable-internal-dns \ |
19 |
-- enable -basic-auth-helpers= "NCSA" \ |
23 |
--with-filedescriptors=65536 \ |
25 |
-- enable -x-accelerator-var |
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里的内容:
002 |
http_port 80 accel vhost vport |
004 |
cache_peer xx.xx.xx.xx parent 80 0 no-query originserver no-digest name=a |
005 |
cache_peer_domain a blog.slogra.com |
008 |
acl manager proto cache_object |
009 |
acl localhost src 127.0.0.1/255.255.255.255 |
010 |
acl SSL_ports port 443 563 |
011 |
acl Safe_ports port 80 |
012 |
acl Safe_ports port 8080 |
015 |
acl LanDstDM dstdomain blog.slogra.com |
017 |
acl CONNECT method CONNECT |
018 |
http_access allow manager localhost |
019 |
http_access deny manager |
020 |
http_access deny !Safe_ports |
021 |
http_access deny CONNECT !SSL_ports |
022 |
http_access allow LanSrc |
023 |
http_access allow LanDst |
024 |
http_access allow LanDstDM |
028 |
visible_hostname blog.slogra.com |
029 |
cache_mgr rocdk890@gmail.com |
030 |
cache_effective_user squid |
031 |
cache_effective_group squid |
033 |
error_directory /usr/ local /squid/share/errors/Simplify_Chinese |
034 |
icon_directory /usr/ local /squid/share/icons |
035 |
mime_table /usr/ local /squid/etc/mime.conf |
037 |
cache_replacement_policy lru |
039 |
cache_dir aufs /var/cache1 32768 64 64 |
040 |
cache_dir aufs /var/cache2 32768 64 64 |
045 |
maximum_object_size 20 MB |
046 |
maximum_object_size_in_memory 8 MB |
049 |
client_persistent_connections off |
050 |
server_persistent_connections on |
060 |
httpd_suppress_version_string off |
063 |
tcp_recv_bufsize 32 KB |
081 |
memory_replacement_policy lru |
083 |
hosts_file /etc/hosts |
084 |
request_header_max_size 128 KB |
087 |
hierarchy_stoplist cgi-bin ? \.php |
088 |
acl QUERY urlpath_regex cgi-bin\? \.php |
093 |
refresh_pattern ^ ftp : 60 20% 10080 |
094 |
refresh_pattern ^gopher: 60 0% 1440 |
095 |
refresh_pattern . 0 20% 1440 |
096 |
refresh_pattern -i \.css$ 360 50% 2880 reload-into-ims |
097 |
refresh_pattern -i \.js$ 1440 50% 2880 reload-into-ims |
098 |
refresh_pattern -i \.html$ 720 50% 1440 reload-into-ims |
099 |
refresh_pattern -i \.jpg$ 1440 90% 2880 ignore-reload |
100 |
refresh_pattern -i \.gif$ 1440 90% 2880 ignore-reload |
101 |
refresh_pattern -i \.swf$ 1440 90% 2880 ignore-reload |
102 |
refresh_pattern -i \.jpg$ 1440 50% 2880 ignore-reload |
103 |
refresh_pattern -i \.png$ 1440 50% 2880 ignore-reload |
104 |
refresh_pattern -i \.bmp$ 1440 50% 2880 ignore-reload |
106 |
refresh_pattern -i \.doc$ 1440 50% 2880 ignore-reload |
107 |
refresh_pattern -i \.ppt$ 1440 50% 2880 ignore-reload |
108 |
refresh_pattern -i \.xls$ 1440 50% 2880 ignore-reload |
109 |
refresh_pattern -i \.pdf$ 1440 50% 2880 ignore-reload |
110 |
refresh_pattern -i \.rar$ 1440 50% 2880 ignore-reload |
111 |
refresh_pattern -i \.zip$ 1440 50% 2880 ignore-reload |
112 |
refresh_pattern -i \.txt$ 1440 50% 2880 ignore-reload |
114 |
quick_abort_min 20 KB |
115 |
quick_abort_max 20 KB |
118 |
connect_timeout 1 minute |
119 |
negative_ttl 0 minutes |
120 |
read_timeout 30 seconds |
121 |
pconn_timeout 120 seconds |
122 |
shutdown_lifetime 5 seconds |
123 |
strip_query_terms off |
138 |
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st % rm %ru %un %Sh/%<A %mt |
139 |
access_log /var/log/squid/access.log squid |
141 |
cache_store_log /dev/null |
142 |
cache_log /var/log/squid/cache.log |
146 |
store_objects_per_bucket 15 |
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的使用命令就只能你们自己去搜了,就到这里了.
(责任编辑:IT) |