当前位置: 首页 > news >正文

【转】《Squid 中文权威指南》第1章 译者:彭勇华

本文出处:http://bbs.chinaunix.net/viewthread.php?tid=561395

译者序:
本人在工作中维护着数台Squid 服务器,多次参阅Duane Wessels(他也是Squid 的创始人)的这本书,原书名是"Squid: The Definitive Guide",由O'Reilly 出版。我在业余时间把它翻译成中文,希望对中文Squid 用户有所帮助。对普通的单位上网用户,Squid 可充当代理服务器;而对Sina,NetEase 这样的大型站点,Squid 又充当WEB 加速器。这两个角色它都扮演得异常优秀。窗外繁星点点,开源的世界亦如这星空般美丽,而Squid 是其中耀眼的一颗星。
对本译版有任何问题,请跟我联系,我的Email是:yonghua_peng@yahoo.com.cn  彭勇华

--------------------------------------------------------------------------------------
第一章是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的主页在http://www.squid-cache.org 你自己阅读该站点吧。
1.6 获取帮助
1.6.1 FAQ
Squid的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 用户
订阅该邮件列表,发邮件到 squid-users-subscribe@squid-cache.org
1.6.2.2 Squid 公告
订阅该邮件列表,发邮件到 squid-announce-subscribe@squid-cache.org
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
请按下面的章节一步一步来吧。

转载于:https://www.cnblogs.com/shanghaif/archive/2008/10/16/1312521.html

相关文章:

  • ISIS路由泄漏(route leaking)
  • CheckBox全选终极方案
  • asp.net夜话之九:验证控件(上)
  • WCF后传系列(4):深入WCF寻址Part 4—自定义消息筛选器
  • 拒绝只买现在,放弃未来,拒绝买工具型软件
  • Linux内核驱动模块
  • 千兆网线与百兆网线的区别
  • 远程安装oracle 10.2.1 for redhat 5.0 2.6.18-53.el5xen
  • 十二、EIGRP的手动汇总
  • C#委托事件
  • 自我管理
  • 隐藏私有文件
  • 关于iframe的name属性
  • T-SQL中的正则表达式
  • jsp中文件下载的实现
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【css3】浏览器内核及其兼容性
  • Docker下部署自己的LNMP工作环境
  • javascript 哈希表
  • js操作时间(持续更新)
  • js中的正则表达式入门
  • linux学习笔记
  • SpringCloud集成分布式事务LCN (一)
  • SQLServer插入数据
  • Travix是如何部署应用程序到Kubernetes上的
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 关于使用markdown的方法(引自CSDN教程)
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 使用Gradle第一次构建Java程序
  • 原生JS动态加载JS、CSS文件及代码脚本
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • #etcd#安装时出错
  • #includecmath
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (九十四)函数和二维数组
  • (理论篇)httpmoudle和httphandler一览
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)jQuery 基础
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • **PHP分步表单提交思路(分页表单提交)
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .net MySql
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • .NET中winform传递参数至Url并获得返回值或文件
  • :not(:first-child)和:not(:last-child)的用法
  • @Not - Empty-Null-Blank
  • @Service注解让spring找到你的Service bean
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...