永发信息网

如何设置Apache服务器的缓冲区大小

答案:2  悬赏:60  手机版
解决时间 2021-11-19 15:36
如何设置Apache服务器的缓冲区大小
最佳答案
你说的是缓存大小吧
Apache 的缓存方式有两种,一种是基于硬盘文件的缓存,由 mod_disk_cache 实现,另一种是使用内存缓存,由 mod_mem_cache 实现,不过它们都是依赖 mod_cache 模块的,mod_cache 模块提供了一些缓存配置的指令供它们使用,而 mod_file_cache 模块是搭配 mod_mem_cache 模块使用的,下面分别进行介绍。

1、基于硬盘文件的缓存
基于硬盘文件存储的缓存由 mod_disk_cache 模块实现,先看个简单的配置例子:

CacheDefaultExpire 86400

CacheEnable disk /
CacheRoot /tmp/apacheCache
CacheDirLevels 5
CacheDirLength 4
CacheMaxFileSize 1048576
CacheMinFileSize 10



把上面的配置加到 Apache 的 httpd.conf 文件中,如果缓存相关的模块都已经编译进了 Apache 的核心,则无需加载模块,直接就能使用上面的指令。指令的详细说明如下:
CacheDefaultExpire:设定缓存过期的时间(秒),默认是1小时,只有当缓存的文档没有设置过期时间或最后修改时间时这个指令才会生效
CacheEnable:启用缓存,第1个参数是缓存类弄,这里当然是 disk了,第2个参数是缓存路径,指的是 url 路径,这里是缓存所有的东西,直接写上“/”即可,如“/docs”则只缓存 /docs 下的所有文件
CacheRoot:缓存文件所在的目录,运行 Apache 的用户(如daemon 或 nobody)要能对其进行读写,如果不清楚的话可以直接设置成 777,请手动建立该目录并设置好访问权限
CacheDirLevels:缓存目录的深度,默认是3,这里设置为5
CacheDirLength:缓存目录名的字符长度,默认是4,这里设置为5
CacheMaxFileSize 和 CacheMaxFileSize:缓存文件的最大值和最小值(byte),当超过这个范围时将不再缓存,这里设置为 1M 和 10bytes
基于硬盘文件存储的文件基本上就这些内容,设置好后重启 Apache 应该就能使用了。一切正常的话,可以在缓存目录下看到 Apache 自动建立的一些目录和缓存的数据文件。
2、基于内存的缓存
基于内存的缓存主要由 mod_mem_cache 模块实现,还是看个简单的配置吧,这样比较直观:-)


CacheEnable mem /
MCacheMaxObjectCount 20000
MCacheMaxObjectSize 1048576
MCacheMaxStreamingBuffer 65536
MCacheMinObjectSize 10
MCacheRemovalAlgorithm GDSF
MCacheSize 131072


简单说一下上面一些指令的意思:
CacheEnable:启用缓存,使用基于内存的方式存储
MCacheMaxObjectCount:在内存中最多能存储缓存对象的个数,默认是1009,这里设置为20000
MCacheMaxObjectSize:单个缓存对象最大为 1M,默认是10000bytes
MCacheMaxStreamingBuffer:在缓冲区最多能够放置多少的将要被缓存对象的尺寸,这里设置为 65536,该值通常小于100000或 MCacheMaxObjectSize 设置的值
MCacheMinObjectSize:单个缓存对象最小为10bytes,默认为1bytes
MCacheRemovalAlgorithm:清除缓存所使用的算法,默认是 GDSF,还有一个是LRU,可以查一下 Apache 的官方文档,上面有些介绍
MCacheSize:缓存数据最多能使用的内存,单位是 kb,默认是100kb,这里设置为128M
保存重启 Apache 基于内存的缓存系统应该就能生效了,根据需要可以使基于内存的存储或硬盘文件的存储方式一起使用,只要指明不同的URL路径即可。
3、注意事项
使用缓存需要注意如下事项:
要使用缓存,必须使用指令 CacheEnable 启用它,目前可用的缓存类型为 disk 或 mem,禁止缓存可以使用 CacheDisable,如 CacheDisable /private
待缓存的 URL 返回的状态值必须为: 200、203、300、301 或 410
URL 的请求方式必须是 GET 方式
发送请求时,头部中包含 “Authorization: ”的字符串时,返回的内容将不会被缓存
URL 包含查询字符串,如问号?后的那些东西,除非返回的内容包含“Expires:”,否则不会被缓存
如果返回的状态值是 200,则返回的头部信息必须包含以下的一种才会被缓存:Etag、Last-Modified、Expires,除非设置了指令 CacheIgnoreNoLastMod On
如果返回内容的头部信息“Cache-Control:”中包含“private”,除非设置了指令 CacheStorePrivate On,否则不会被缓存
如果返回内容的头部信息“Cache-Control:”中包含“no-sotre”,除非设置了指令 CacheStoreNoStore On,否则不会被缓存
如果返回内容的头部信息“Vary:”中包含了“*”,不会被缓存
全部回答
缓冲区有好多种的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦幻西游武罗仙子怎么获得
明天唐山遵化限什么号
纯K年代(必爱歌嘉定店)地址有知道的么?有点
馒头增筋剂与泡打粉能够同时用吗?
从合肥到河南濮阳有火车吗
求此QQ表情的高清大图
7x3读作七乘三,"7"和"3"叫做什么
铁盒列宁市场价多少钱一盒
创业中机会属性是什么
吉易二手车地址在什么地方,想过去办事,
快捷快递(环城东路42号附近快捷快递)地址有知
求小说虎狼同穴全本
中兴街在什么地方啊,我要过去处理事情
中国邮政(普安镇)地址好找么,我有些事要过去
洛川县朱牛中学地址在什么地方,我要处理点事
推荐资讯
《蓝灯》中,士兵只要把烟斗在蓝灯上点着,就会
孕妇员工在什么情况下可以被公司开除
已知木块的密度与体积,怎么求浸入水中的体积
60吨以上油罐车,运输费用怎么计算,每吨多少
联想s696手机怎样打开未知来源
安丘市国土资源局地址在什么地方,我要处理点
求助,战网不知道怎么搞的一直上不了线我需要
太阁立志传5 忍术在哪儿学?学习礼法要 买什
好友考上重点高中该说些什么词语
头上有根草,两片叶子的表情叫什么
想把门厅那块上方封闭起来,做个小的储物室
帮看下“辛亥丁酉癸亥乙卯”八字
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?