squid for windows 小试手记_KTH007's BLOG

来源:百度文库 编辑:神马文学网 时间:2024/04/28 23:28:54

某日无意中看到许多大型网站都使用了squid来构架WEB服务器。可惜一查知道是unix的产物。心血来潮的找到了一个for windows 的版本 在官方下了 2.6 的最新版本。最近找了些资料对着操作捣鼓了半天都没搞定,主要就是对着那2000多行的配置文件头发大。老是提示 拒绝访问。。于是就搁下了。。

前段时间看到一片文章 里面有配置好了的 文件 可是已经下不了了 于是加了写文章的那个人的QQ 。果然是好人 一下就把配置发给我了。。为了能够帮助像我一样的人。特别写了这个帖子 并且把高人的配置也贴出来。以供大家参考,高手勿笑。。。

Squid到底是什么:简单来说就是一个代理。你可以让它监听一个端口,所有到这个端口的请求,它分析是什么协议,然后根据你的配置文件将这个协议映射到别的端口。比如目前我让Squid监听80端口(传说中的加速模式),而在配置文件里将http请求转到81端口,同时在IIS里将网站的TCP端口改到81端口。这样方式下客户端请求的HTTP协议到80端口后转到IIS的端口里。那么Squid的功能就在这里体现出来了,对于接收的请求地址,Squid会判断是否缓存过,如果缓存过则直接从HashTable里找到资源返回,如果没有缓存过则再将请求转发给IIS。并且将返回的东西再做一次缓存。

Squid缓存机制里,并不是只缓存本地资源的位置,而是将资源Copy到专用的缓存位置,通常在硬盘上。老版本的Squid每次都会将资源放入内存做Cache,但是我们目前用的大概在2.0以上的版本都不是这样做的。请求的资源通常只缓存在硬盘上,而不放在内存里,只有那些最近访问极其Hot的资源才会被放入内存用来进一步加速。

Squid用在哪里:拿我们情况考虑来说,图片服务器会接受几乎所有的图片请求,不像Web服务器那样有负载均衡,所以压力会很大。但是同时发现重复的请求会很多,符合八二原理,即80%的客户端总是在重复请求20%的图片。那么在这里做一级缓存那么不是帅及了?Squid便用在这里做缓存。通常来讲,如果你的服务器硬盘队列排队等待时间总是过长,用Squid可以有效的提高I/O性能以及请求响应速度。

Squid性能:首先,Squid将大部分内容缓存在硬盘上,这样虽然只是将资源换了一个地方,但不是这么简单的。Squid会将缓存资源地址做Hash或索引,而且你也会发现缓存目录也是有规律的,可以根据十六进制做移位寻址,这样极快提高找到缓存资源的速度。另外,Squid会将最Hot请求的资源放入内存中,也是提高性能的要素。性能上我们实际测试的结果就是:如果不加Squid,图片服务器在每分钟2000客户端请求的情况下,硬盘排队都已达到40%以上。而用Squid做代理缓存资源后,即使在这次最高峰的时候,每分钟4000请求的情况下,硬盘排队值也可以稳定的维持在10%20%。不过CPU开销上总是多需要25%。这也许是一种用Cpu换取I/O性能的模式吧。

我自己在自己测试的机器上面测试成功!但还没有测试多台虚拟主机的配置。主要还是对配置并不熟悉。。

欢迎大家和我一起交流。。QQ 76420245

 

资源:关于Squid的所有资源,包括配置文件。

点击这里下载:squid配套资料 (右键--目标另存为)