高负载squid配置经验(new)

上传人:飞*** 文档编号:40316249 上传时间:2018-05-25 格式:DOC 页数:15 大小:53KB
返回 下载 相关 举报
高负载squid配置经验(new)_第1页
第1页 / 共15页
高负载squid配置经验(new)_第2页
第2页 / 共15页
高负载squid配置经验(new)_第3页
第3页 / 共15页
高负载squid配置经验(new)_第4页
第4页 / 共15页
高负载squid配置经验(new)_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《高负载squid配置经验(new)》由会员分享,可在线阅读,更多相关《高负载squid配置经验(new)(15页珍藏版)》请在金锄头文库上搜索。

1、编译 squid./configure -perfix =PREFIX 这里设置安装目录。-localstatedir =DIR 该选项允许你改变 var 目录的安装位置。默认是$prefix/var。 -sysconfdir =DIR 该选项允许你改变 etc 目录的位置。默认的是$prefix/etc。-enable-async-io=N_THREADS (用以提升存储性能。aufs 模块使用大量的线程来执行磁盘 I/O 操作。该代码仅仅工作在 linux 和solaris 系统中。=N_THREADS 参数改变 squid 使用的线程数量。请注意-enable-async-io 是打开其

2、他三个./configure 选项的快捷方式,它等同于: -with-aufs-threads=N_THREADS -with-pthreads -enable-storeio=ufs,aufs -with-pthreads 该选项导致编译过程链接到你系统中的 P 线程库。aufs 存储模块是 squid 中唯一需要使用线程的部分。通常来说,如果你使用-enable-saync-io 选项,那么不必再单独指定该选项,因为它被自动激活)-enable-storeio=LIST Squid 支持大量的不同存储模块。通过使用该选项,你告诉 squid 编译时使用哪个模块。LIST= afus,dis

3、kd,ufs null-with-aufs-threads=N_THREADS 指定 aufs 存储机制使用的线程数量。squid 默认根据缓存目录的数量,自动计算需要使用多少线程。-enable-removal-policies=LIST 排除策略是 squid 需要腾出空间给新的 cache 目标时,用以排除旧目标的机制。支持 3 个排除策略:最少近期使用(LRU),贪婪对偶大小(GDS),最少经常使用(LFU)。LRU 是默认的,它以双链表数据结构执行。GDS 和 LFU 使用堆栈的数据结构。 为了使用 GDS 或 LFU 策略,你指定: % ./configure -enable-re

4、moval-policies=heap 然后你在 squid 的配置文件里选择使用 GDS 或 LFU。假如你想重新使用 LRU,那么指定: % ./configure -enable-removal-policies=heap,lru -enable-icmp squid 能利用 ICMP 消息来确定回环时间尺寸,你能使用该选项来激活这些功能。-enable-snmp 简单网络管理协议(SNMP)是监视网络设备和服务器的流行方法。 -enable-gnuregex :由于 Squid 大量使用字符串处理做各种判断,加入此项能更好的处理。-enable-kill-parent-hack :关掉

5、 suqid 的时候,要不要连同父进程一起关掉,这个当然要啦-enable-cahce-digests :加快请求时,检索缓存内容的速度。-enable-err-language=“Simplify_Chinese“ -enable-default-err-languages=“Simplify_Chinese“ :指定出错是显示的错误页面为简体中文-enable-linux-netfilter :可以支持透明代理-with-maxfd=99999文件描述符-enable-dlmalloc=LIB 在一些系统上,内建的内存分配机制(malloc)在使用 squid 时表现不尽人意。使用-ena

6、ble-dlmalloc 选项将 squid 源代码包中的 dlmalloc 包编译和链接进来。假如你的系统中已安装dlmalloc,你能使用=LIB 参数指定库的路径。 。 -enable-gnuregex 可以激活使用 GNU 正则表达式。如果因为某些理由,你想强制使用 GNU 正则表达式,可以将这个选项加到./configure 命令后。 -enable-carp Cache数组路由协议(CARP)用来转发丢失的 cache 到父 cache 的数组或 cluster。 -enable-heap-replacement 该选项不再使用,但被保留用于向后兼容性。你该使用-enable-re

7、moval-policies 来代替。 -enable-delay-pools 延时池是 squid 用于传输形状或带宽限制的技术。该池由大量的客户端 IP 地址组成。当来自这些客户端的请求处于 cache 丢失状态,他们的响应可能被人工延迟。-enable-useragent-log 该选项激活来自客户请求的 HTTP 用户代理头的日志。 -enable-referer-log 该选项激活来自客户请求的 HTTP referer 日志。-disable-wccp Web cache 协调协议(WCCP)是 CISCO 的专有协议,用于阻止或分发 HTTP 请求到一个或多个caches。WCC

8、P 默认被激活,假如你愿意,可以使用该选项来禁止该功能。 -enable-cachemgr -hostname=hostname cachemgr 是一个 CGI 程序,你能使用它来管理查询 squid。默认 cachemgr 的 hostname 值是空的,但你能使用该选项来指定一个默认值。例如% ./configure -enable-cachemgr-hostname= -enable-arp-acl squid 在一些操作系统中支持 ARP,或者以太地址访问控制列表。该代码使用非标准的函数接口,来执行 ARP 访问控制列表,所以它默认被禁止。假如你在 linux 或 solaris 上

9、使用 squid,你可能用的上这个功能。 -enable-htcp HTCP 是超文本缓存协议-类似于 ICP 的内部缓存协议。 -enable-ssl 使用该选项赋予 squid 终止 SSL/TLS 连接的能力。注意这仅仅工作在 web 加速器中用以加速请求。 -with-openssl=DIR 假如必要,你使用该选项来告诉 squid 到哪里找到 OpenSSL 库或头文件。假如它们不在默认位置,在该选项后指定它们的父路径。例如:% ./configure -enable-ssl -with-ssl=/opt/foo/openssl 在这个例子中,你的编译器将在/opt/foo/open

10、ssl/include 目录中找头文件, 在/opt/foo/openssl/lib 中找库文件。 -enable-err-languages=“lang1 lang2 .“ squid 支持定制错误消息,错误消息可以用多种语言报告。该选项指定复制到安装目录($prefix/share/errors)的语言。假如你不使用该选项,所有可用语言被安装。 -with-coss-membuf-size=N 循环目录存储系统(coss)是 squid 的试验性存储机制。该选项设置 coss 缓存目录的内存缓冲大小。注意为了使用 coss,你必须在-enable-storeio 选项里指定存储类型。 该参

11、数以字节形式赋值,默认是 1048576 字节或 1M。你能指定 2M 缓冲如下: % ./configure -with-coss-membuf-size=2097152 -disable-http-violations squid 默认可以被配置成违背 HTTP 协议规范。你能使用该选项来删除违背 HTTP 协议的代码。 -enable-ipf-transparent 描述如何配置 squid 来拦截缓存。一些操作系统使用 IP Filter 包来协助拦截缓存。在这些环境下你应该使用该./configure 选项。如果你使用了该选项,但是编译器提示 src/client_side.c 文件

12、出错,那是因为 IP Filter 包没有或没有正确的安装在你的系统中。 -enable-pf-transparent 你可能需要指定该选项,使用 PF 包过滤器在操作系统中拦截 HTTP。PF 是 OpenBSD 的标准包过滤器,也可能被发布到其他系统中。假如你使用该选项,但是编译器提示 src/client_side.c 文件出错,那是因为 PF 没有实际安装到你的系统中。 -enable-linux-netfilter Netfilter 是 linux 2.4 系列内核的包过滤器名字。假如你想在 linux2.4 或以后的版本中使用 HTTP 拦截功能,那么激活该选项。 -disabl

13、e-ident-lookups ident 是一个简单的协议,允许服务器利用客户端的特殊 TCP 连接来发现用户名。假如你使用该选项,编译器将把执行这些查询的代码排除出去。即使你在编译时保留了这些代码,除非你在 squid.conf文件里指定,squid 不会执行 ident 查询。 -disable-internal-dns squid 源代码包含两个不同的 DNS 解决方案,叫做“内部的”和“外部的”。内部查询是默认的,但某些人可能要使用外部技术。该选项禁止内部功能,转向使用旧的方式。 内部查询使用 squid 自己的DNS 协议执行工具。也就是说,squid 产生未完成的 DNS 查询并

14、且将它们发送到一个解析器。假如超时,它重新发送请求,你能指定任意数量的解析器。该工具的有利处之一是,squid 获得准确无误的 DNS 响应的 TTLs。 外部查询利用 C 库的 gethostbyname()和 gethostbyaddr()函数。squid 使用一个外部进程池来制造并行查询。使用外部 DNS 解析的主要弊端是你需要更多的辅助进程,增加 squid 的负载。另一个麻烦是C 库函数不在响应里传输 TTLs,这样 squid 使用 postive_dns_ttl 指令提供的一个常量值。 -enable-truncate truncate ()系统调用是 unlink()的替代品。

15、unlink()完全删除 cache 文件,truncate()将文件大小设为零。这样做释放了分配给该文件的磁盘空间,但留下适当的目录接口。该选项存在的理由是,某些人相信(或希望) truncate()比 unlink()性能表现更好。然而,压力测试显示两者有很少的或根本没有区别。 -disable-hostname-checks 默认的,squid 要求 URL 主机名在一定程度上遵守古老的 RFC 1034 规范。-enable-underscores 该选项控制 squid 针对主机名里下划线的行为。通用的标准是主机名里不包含下划线字符。squid 默认会对 URL 主机名里带下划线的请

16、求产生一条错误消息。你能使用该选项,让 squid 信任它们.-enable-auth=LIST 该选项控制在 squid 的二进制文件里支持哪种验证机制。你能选择下列机制的任意组合: basic,digest,ntlm。假如你忽略该选项,squid 仅仅支持 basic 验证。假如你使用不带参数的-enable-auth 选项,编译进程将增加对所有验证机制的支持。你可以使用以逗号分隔的验证机制列表: % ./configure -enable-auth=digest,ntlm 将硬盘分区格式化为 reiserfs 具体方法为:1、fdisk -l /查看硬盘分区默认是 fdisk /dev/sda -l,也可能能过指定设备查看,如 fdisk /dev/sdb -l(如果存在该硬盘)2、fdisk /dev/sda,进入命令行进行分区管理。Command (m for help): m /查看所有的指令C

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号