Linux squid设置详解

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

  第一章是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 有用,请考虑以下面一种或几种方法来回报该项目:

  1.参与squid 用户讨论列表,回答问题和帮助新用户。

  2.测试新版本,报告bug 或其他问题。

  3.致力于在线文档和FAQ。假如你发现错误,将它报告给维护者。

  4.将你的局部修改提交给开发者。

  5.对开发者提供财政支持。

  6.告诉开发者你想要的新功能。

  7.告诉你的朋友和同学,Squid 非常Cool。

  Squid 是在GNU 公用许可证(GPL)下发行的自由软件。关于GPL 的更多信息请见:http://www.gnu.org/licenses/gpl-faq.html

  1.5 Squid 的Web 主页

  Squid的主页你自己阅读该站点吧。

  1.6 获取帮助

  1.6.1 FAQ

  1.6.2 邮件列表

  Squid 有三个邮件列表可用。

  1.6.2.1 Squid 用户

  订阅该邮件列表,发邮件到 squid-users-subscribe@squid-cache.org

  1.6.2.2 Squid 公告

  订阅该邮件列表,发邮件到 squid-announce-subscribe@squid-cache.org

  1.6.2.3 Squid 开发

  加入该邮件列表有所限制。

  1.6.3 职业支持

  即付费的支持 – 职业支持服务提供商列表,

  1.7 启动Squid

  请按下面的章节一步一步来吧。

  第2章 获取Squid

  2.1 版本和发布

  Squid 开发者定期发布源代码。每一个发布版有一个版本号,例如2.5.STABLE4。版本号的第三部分以STABLE 或DEVEL(短期开发版本)开头。

  也许你能猜到,DEVEL 版本倾向于拥有更新,更试验性的功能。但也许它们有更多的bugs。无经验的用户不应该运行DEVEL 版本。假如你选择运行一个DEVEL 版本,并且遇到了问题,请将问题报告给Squid 维护者。

  在一段时间的开发期后,Squid 版本号变为STABLE。该版本适合于普通用户。当然,即使稳定版可能也有一些bugs。高的稳定版本(例如STABLE3,STABLE4)应该bugs 更少。假如你特别关心稳定性,你应该使用这些最近发布版本中的一个。

  2.2 使用源代

  为什么你不能copy 一份预编译的二进制代码到你的系统中,并且期望它运行良好呢?主要理由是squid 的代码需要知道特定操作系统的参数。实际上,最重要的参数是打开文件描述符的最大数量。Squid 的./configure 脚本在编译之前侦察这些值。假如你获取一个已编译的使用某个参数值的squid 到另一个使用不同参数值的系统中,可能会遇到问题。

  另一个理由是许多squid 功能在编译时必须被激活。假如你获取一个别人已编译的squid文件,它不包含你所需要的功能,那么你又得再编译一遍。最后,共享库的问题可能使得在系统之间共享可执行文件困难。共享库在运行时被装载,如已知的动态链接一样。squid 在编译时会侦察你系统中的C 库的某些功能(例如它们是否被提供,是否能运行等)。尽管库功能不常改变,但两个不同的系统的C 库之间可能有明显的区别。如果两个系统差别太大,就会对Squid 造成问题。

  获取squid 的源代码是非常容易的。请访问squid 的首页。首页有链接指向不同的稳定版和开发版。假如你不在美国,那么请访问squid 的众多镜像站点中的一个。镜像站点通常以”wwwN.CC.squid-cache.org”命名,N 是数字,CC 是国家的两位代码。例如,1.au.squid-cache.org 是澳大利亚的镜像站点,在主页上有链接指向不同的镜像站点。

  每一个squid 发布版分支(例如Squid-2.5)有它自己的HTML 页面。该页面有链接指向源代码,以及与其他发布版的差别。假如你从一个发布版升级到下一个,你应该下载这些差别文件,并且打上补丁,请见3.7 章节中的描述。每个版本的发布页描述新功能和重要的改进,也有链接指向已经修正的bugs。

  如果web 访问不可行,你能从ftp://ftp.squid-cache.org 的FTP 服务器获取源代码,或者使用其他FTP 镜像。要获取当前版本,请访问pub/squid-2/DEVEL 或 pub/squid-2/STABLE目录。FTP镜像也在许多国家有,你能用同样的国家代码去猜测一些FTP镜

鱼儿爱美,不仅需要鳞甲之美。还需要浮沉活泼之美。

Linux squid设置详解

相关文章:

你感兴趣的文章:

标签云: