1.squid 介绍
1.缓存服务器介绍
缓存服务器,即用来存储(内存及硬盘)用户访问的网页、图片、文件等等信息的专用服务器,这种服务器不仅可以使用户最快的得到他们想要的信息,而且大大减少了网络传输的数据量,缓存服务器经常是代理服务器。对于用户是不可见。
目前常见的缓存服务器软件:squid、varnish、nginx
2.cache 命中率
cache命中:
1)在squid每次从它的缓存里满足HTTP请求时发生。cache命中率,是所有HTTP请求中命中的比例。Web缓存典型的cache命中率在30%到60%之间。另一个相似的度量单位叫做字节命中率,描绘了cache提供服务的数据容量(字节数)。
cache丢失:
在squid不能从它的缓存里满足HTTP请求时发生。cache丢失的理由有很多种。最明显的,
1)当squid第一次接受到对特殊资源的请求时,就是一个cache丢失。
解决:预取
2)类似的情况是,squid会清除缓存以释放空间给新对象。
解决:磁盘尽可能大
3)另外的可能是资源不可到达。原始服务器会指示cache怎样处理响应。例如,它会提示数据不能被缓存,或在有限的时间内才被重复使用,等等。
cache 确认:
1)cache确认保证squid不对用户返回过时数据。在重复使用缓存对象时,squid经常从原始服务器确认它。假如服务器指示squid的拷贝仍然有效,数据就发送出去。否则,squid升级它的缓存拷贝,并且转发给客户。
3.squid 作用:
1)反向代理
2)正向代理(普通代理)
3)透明代理
4)web缓存
4.正向代理
1)内部用户想访问新浪网站,通过在浏览器设置指定的代理服务器。
2)内部用户连接到代理服务器(squid服务器)。
3)squid查看本地缓存是否有用户请求的资源,如果有,直接返回给用户。
4)如果本地缓存没有,squid则请求新浪,将请求的结果返回给用户,同时将内存缓存到cache
5.反向代理
与正向代理正好相反,外部用户访问内部服务器
1)外部用户想访问我们IDC服务器的网站。
2)外部用户首先请求带我们内部的代理服务器(squid服务器)。
3)squid查看本地缓存是否有用户请求的资源,如果有,直接返回给外部用户。
4)如果本地缓存没有,squid则请求新浪,将请求的结果返回给用户,同时将内存缓存到cache
6.透明代理
1)内部用户请求访问新浪,不用在浏览器设置代理。
2)用户首先请求到防火墙,请求访问新浪的80端口。
3)防火墙将内部请求的80转发给squid代理服务器的3128端口。
4)squid服务器去查看cache是否有用户请求的内容,如果有,将内容通过防火墙发送给用户
5)如果没有,则缓存到cache里,同时将请求的结果通过防火墙送给用户
本文出自 “运维菜鸟” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1569782
原文地址:http://ckl893.blog.51cto.com/8827818/1569782