译者序:
本人在工作中维护着数台Squid服务器,多次参阅Duane Wessels(他也是Squid的创始人)的这本书,原书名是"Squid: The Definitive Guide",由O'Reilly出版。我在业余时间把它翻译成中文,希望对中文Squid用户有所帮助。对普通的单位上网用户,Squid可充当代理服务器;而对Sina,NetEase这样的大型站点,Squid又充当WEB加速器。这两个角色它都扮演得异常优秀。窗外繁星点点,开源的世界亦如这星空般美丽,而Squid是其中耀眼的一颗星。
对本译版有任何问题,请跟我联系,我的Email是:[email protected]
彭勇华
目 录第1章是Squid的介绍性描述,与技术关联不多,我不准备多翻译。
1.1 Web缓存这节里需要明白3个概念:
cache命中在squid每次从它的缓存里满足HTTP请求时发生。cache命中率,是所有HTTP请求中命中的比例。Web缓存典型的cache命中率在30%到60%之间。另一个相似的度量单位叫做字节命中率,描绘了cache提供服务的数据容量(字节数)。
cache丢失在squid不能从它的缓存里满足HTTP请求时发生。cache丢失的理由有很多种。最明显的,当squid第一次接受到对特殊资源的请求时,就是一个cache丢失。类似的情况是,squid会清除缓存以释放空间给新对象。另外的可能是资源不可到达。原始服务器会指示cache怎样处理响应。例如,它会提示数据不能被缓存,或在有限的时间内才被重复使用,等等。
cache确认保证squid不对用户返回过时数据。在重复使用缓存对象时,squid经常从原始服务器确认它。假如服务器指示squid的拷贝仍然有效,数据就发送出去。否则,squid升级它的缓存拷贝,并且转发给客户。
1.2 Squid的简明历史对本节感兴趣的读者请阅读英文原文档。
1.3 硬件和操作系统要求Squid运行在所有流行的Unix系统上,也可以在Microsoft Windows上运行。尽管squid的Windows支持在不断改进,但也许在Unix上容易一些。假如你有一个喜欢的操作系统,我建议你使用那个。否则,假如你找人推荐,我很喜欢FreeBSD。
squid对硬件要求不算高。内存是最重要的资源。内存短缺会严重影响性能。磁盘空间也是另一个重要因素。更多的磁盘空间意味着更多的缓存目标和更高的命中率。快速的磁盘和驱动器也是有利的。如果你舍得花钱,SCSI磁盘比ATA的执行性能好。当然快速的CPU也是好的,但它并不是提高性能的关键因素。
因为squid对每个缓存响应使用少数内存,因此在磁盘空间和内存要求之间有一定联系。基本规则是,每G磁盘空间需要32M内存。这样,512M内存的系统,能支持16G的磁盘缓存。你的情况当然会不同。内存需求依赖于如下事实:缓存目标大小,CPU体系(32位或64位),同时在线的用户数量,和你使用的特殊功能。
人们经常问如此问题:“我的网络有X个用户,需要配备什么样的硬件给squid?”因为许多理由,这样的问题好难回答。特别的,很难说X个用户将产生多少流量。我告诉人们去建立一个有足够磁盘空间,可存储3-7天web流量数据的系统。例如,假如你的用户每天8小时耗费1M流量(仅仅HTTP和FTP传输),那就是每天大约3.5G。所以,我可以说,每兆web传输你需要10到25G的磁盘空间。
1.4 squid是开源的Squid是自由软件和合作项目。假如你觉得squid有用,请考虑以下面一种或几种方法来回报该项目:
Squid是在GNU公用许可证(GPL)下发行的自由软件。关于GPL的更多信息请见: http://www.gnu.org/licenses/gpl-faq.html
1.5 Squid的Web主页Squid的主页在http://www.squid-cache.org 你自己阅读该站点吧。
1.6 获取帮助 1.6.1 FAQSquid的FAQ文档在http://www.squid-cache.org/Doc/FAQ/FAQ.html,是对新用户的好信息资源。
1.6.2 邮件列表Squid有三个邮件列表可用。邮件列表主页在: http://www.squid-cache.org/mailing-lists.html
1.6.2.1 Squid用户订阅该邮件列表,发邮件到 [email protected]
1.6.2.2 Squid公告订阅该邮件列表,发邮件到 [email protected]
1.6.2.3 Squid开发加入该邮件列表有所限制。它的内容发布在 http://www.squid-cache.org/mail-archive/squid-dev/
1.6.3 职业支持即付费的支持。 职业支持服务提供商列表,请见http://www.squid-cache.org/Support/services.html
1.7 启动Squid请按下面的章节一步一步来吧。