免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1215 | 回复: 0
打印 上一主题 下一主题

对Squid使用的几点总结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-20 10:21 |只看该作者 |倒序浏览
对Squid使用的几点总结
      
              
        
      
               
         
        作者/
vi
 时间/2007-4-5 0:16:00 类别/技术  查看/2040
      
              
      
         

 
发表评论
 
以论坛方式查看
      
      
      
         
        标签:
WWW

      
        
        
      
         
        
           对Squid使用的几点总结
1.cache_dir
在Linux环境下用aufs类型的cache_dir比较稳定,速度也比较快。cache_dir所在文件系统如果用noatime选项来mount,可以避
免访问cache文件时经常要更新access time的操作。
一般cache容量和被加速内容的比值在1:10到1:20比较合适。
cache_dir aufs /var/spool/squid 10240 64 64
这是一个典型网站web caching server的cache_dir配置,加速100GB到200GB的内容
cache_dir aufs /var/spool/squid 1024 16 64
这是一个典型办公室透明代理的cache_dir配置,加速10GB到20GB的内容
2.cache_mem
很多文章说cache_mem要设置成物理内存数量的一半,比如物理内存2GB的cache_mem要设置成1GB。但是经过实际使用检验,这往往
是造成服务器内存超负荷的元凶。《Squid: The Definitive Guide》关于cache_mem这样说:“This directive doesn't
entirely control the size of the Squid process”。实际使用当中内存占用往往超过cache_mem限定值很多,也就是说,
squid占用内存量似乎不受这个参数的控制。所以,此参数不必设得太大,适量就行,我的设置是:
服务器:
cache_mem 100 MB
局域网:
cache_mem 10 MB
另外,设置较小的maximum_object_size_in_memory值有助于有效控制squid过度占用内存,例如:
maximum_object_size 12288 KB
maximum_object_size_in_memory 24 KB
memory_pools off,也是一个不错的设置
题外话,个人觉得squid这个软件设计的比较失败的地方就是内存管理这一块...
3.透明代理
防火墙设置好端口拦截,然后这样设置可以实现透明代理:
httpd_accel_port 80  (0: 加速任何端口)
httpd_accel_host virtual
httpd_accel_uses_host_header on
httpd_accel_with_proxy on
这是使两种工作模式:代理模式和加速模式,同时工作。要想关闭代理模式,只要把httpd_accel_with_proxy设成off
4.http_port
http_port可以重复设置,使得squid在多个端口侦听
http_port 80
http_port 3128
http_port localhost:8080
5.访问控制
acl it_nets src 192.168.0.0/19  (限制访问ip)
acl over_conn_limit maxconn 20  (限制连接数)
acl illegal_access url_regex -i what_ever_you_want  (限制访问内容)
http_access deny over_conn_limit
http_access deny illegal_access
http_access allow it_nets
http_access deny all
6.cache文件的更新周期
refresh_pattern ^/$                             0       66%     240     reload-into-ims
refresh_pattern ^.+/([^.]*)$                    0       66%     720     reload-into-ims
(首页,更新得比较频繁,cache更新周期短一些)
refresh_pattern -i \.(htm|html|txt|js)$         0       66%     1440    reload-into-ims
(一般页面,更新得没那么频繁,cache更新周期长一些)
refresh_pattern -i \.(bmp|gif|jpg|png|swf)$     0       66%     10080   reload-into-ims
(图片、flash,更新得最不频繁,cache更新周期最长)
refresh_pattern .                               0       66%     10080   reload-into-ims
(缺省,长一些)
reload-into-ims
When set, this option makes Squid transform a request with a no-cache directive into a validation
(If-Modified-Since) request. In other words, Squid adds an If-Modified-Since header to the request
before forwarding it on. Note that this only works for objects that have a Last-Modified timestamp.
The outbound request retains the no-cache directive, so that it reaches the origin server.
大概意思是:只在源服务器上文件变动的情况下才实际更新cache当中的内容。
小技巧:Ctrl+F5可以强制浏览器和squid刷新它的缓存。
题外话:内容管理系统(CMS)在更新发布页面的时候,应该与cache服务器之间有一种沟通机制,通知cache刷新更新了的内容
7.杂项
negative_ttl 0 minutes
pipeline_prefetch on        (对提升squid处理客户端请求的速度有帮助)
forwarded_for on
dns_nameservers 202.96.128.86 202.96.128.166
8.Squid+Apache
在apache服务器中前置squid,可以有效减少apache衍生进程的数量,从而减少内存消耗。
利用Squid的访问控制功能,可以实现内容过滤、连接数限制等apache力所不能及的功能。
利用Squid的I/O驱动的请求处理模式,更高效地实现静态内容请求处理,至于动态内容还是交给apache来处理。
9.max_filedesc 16384
这个不用多说了...
10.待续..
         
      
        
         
         
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/70610/showart_1086911.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP