关闭

对Squid使用的一些总结

1520人阅读 评论(0) 收藏 举报
分类:
对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.待续..
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

《初入linux》--第二十一部分-利用squid搭建vpn服务器(免流服务器初级入门)

一.squid搭建简单的vpn 正向代理       何为正向代理:简单的解释,我从主机A上想访问服务器C上的资源,但是因为种种原因(例如acl限制,防火墙,万恶的GFW 5555555~~)A被限制了无法访问C,此时,我们知道服务器B是可以访问C的,于是,我们先用A...
  • x221996515
  • x221996515
  • 2016-12-16 16:40
  • 1366

用squid+iptables实现http代理

用squid+iptables实现http代理 分类: Apache2011-10-09 09:52 745人阅读 评论(0) 收藏 举报 squid简介     squid是一缓存inte...
  • cuiyifang
  • cuiyifang
  • 2012-12-20 10:36
  • 6059

使用squid实现普通的代理服务器

squid简介Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过...
  • guoxiaojie_415
  • guoxiaojie_415
  • 2016-03-18 21:06
  • 5295

squid介绍及其简单配置

squid介绍及其简单配置 1.Squid是什么?   Squid是一种用来缓冲Internet数据的软件。它是这样实现其功能的,接受来自人 们需要下载的目标(object)的请求并适当地处理这些请求。也就是说,如果一个人想 下载一web页面,他请求Squid为他取得这个页面。Squid随之...
  • num_one_is_me
  • num_one_is_me
  • 2016-09-19 15:18
  • 686

几十行代码搞定squid限速

http://blog.chinaunix.net/uid-8474831-id-3503830.html Squid自带限速功能delay_pool,但delay_pool的代码太复杂了。这次给大家介绍一种几十行代码的简单实现。 1. Squid下载速度的控制 要了解squid下...
  • zdf511391565
  • zdf511391565
  • 2015-03-16 11:03
  • 774

使用squid实现普通的代理服务器

squid简介Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网络资源而缓存万维网,域名系统和其他网络搜索,到通过过...
  • guoxiaojie_415
  • guoxiaojie_415
  • 2016-03-18 21:06
  • 5295

SQUID优化重要参数

maximum_object_size 是 能cache最大的文件大小。对应wmv,rm文件,建议设置为32768 kB maximum_object_size_in_memory 是在内存中cache的最大文件大小。 cache_mem 是SQUID可用到的最大内存。经实践,4G内存的服务...
  • wangpengqi
  • wangpengqi
  • 2013-07-02 10:36
  • 4469

linux下配置squid 服务器,最简单使用方式

linux下配置squid 1、什么是squid Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。Squid有广泛的用途,从作为网页服务器的前置cache服务器缓存相关请求来提高Web服务器的速度,到为一组人共享网...
  • unixtech
  • unixtech
  • 2016-11-16 12:17
  • 5406

Squid配置之使用帐号密码验证

1. 安装squid 使用root用户进行操作。 先使用rpm检测是否已经安装了sqlid,如>> rpm –q squid 如未安装,可使用>> yum –install squid进行安装 2. 配置squid Squid安装后提供几个设置的地方: /...
  • atco
  • atco
  • 2015-02-03 13:56
  • 8862

使用squid搭建https透明代理

参考链接: http://wiki.squid-cache.org/Features/HTTPS https://www.tectut.com/2015/08/configure-squid-as-http-and-https-transparent-proxy/
  • maoji
  • maoji
  • 2016-11-09 05:06
  • 5290
    个人资料
    • 访问:1187615次
    • 积分:13973
    • 等级:
    • 排名:第1045名
    • 原创:370篇
    • 转载:38篇
    • 译文:1篇
    • 评论:126条
    自我简介
    本人帝都码农一枚,喜钻研代码,搞过流媒体,P2P,搜索,浏览器,精准广告,目前在一家创业公司专注于cdn和运营商缓存的研发,欢迎志同道合者交流技术,切磋心得,共同进步!该博客是业余总结开发中的经验教训,梳理思路的结晶。博文如有不妥之处,请高人不吝赐教,若有侵犯版权的地方,请联系我删除。 Email:tao_627@aliyun.com
    最新评论