Linux squid 的 Disk Cache参数设置
i.尽量不用层叠cache(多级cache),效果不好
ii.cache_dir告诉squid以何种方式存储cache到磁盘的什么位置。
cache_dir scheme directory size L1 L2 [options]
scheme 选择不同的存储机制,默认ufs
directory 缓存对象文件存放在这个目录下,可以多个,
[建议:每个物理磁盘中,仅仅设置一个cache目录]
size
指定了cache目录的大小(Mbytes),是squid能使用的cache_dir目录的空间上限。推荐保留10%的空间。这些额外的空间用于存放 squid的swap.state文件和临时文件。
[如果磁盘主要用于cache,可以使用空闲大小的90%进行cache;此外还要考虑对应的内存大小,如果这些缓存的内存索引大于可用内存,squid 性能大大受损!]
Inodes(i节点)是unix文件系统的基本结构,对linux没用!(指文件块大小,linux使用4k,察看命令df -ik)
L1和L2
1级目录和2级目录的数量,默认的是16和256,如果cache文件小,减少L1和L2以提高速度。squid让HTML文件和它内嵌的图片更可能的保 存在同一个二级目录中。而且,一旦激活cache目录就不要更改L1
L2。
[cd /cache0; du -k 察看缓存目录空间]
Options的read-only,只读,用于cache目录迁移,一般不用
Options的max-size
指定存储在cache目录里的最大目标大小,字节单位,最好不要设置。假如设置了,必须将所有cache_dir行以max-size大小顺序来存放(从 小到大)。
iii.cache_swap_low 90
cache_swap_high 95
数字值是最大cache体积的百分比。如果总共磁盘使用低于cache_swap_low,squid不会删除cache目标。如果cache体积增 加,squid会逐渐删除目标。
iv.maximum_object_size 100 KB
比此值更大的响应不会被缓存在磁盘,如果没有这样的对象最好不设置!(设置多了增加squi的负荷)
minimum_object_size 这个一般不用设置
v.cache_replacement_policy
控制了squid的磁盘cache的置换策略,默认LRU(最少近期使用被替换),性能最好,不用再设置了
vi.squidclient reload缓存目标(当缓存文件发生问题时使用的指令),
squidclient -r http://www.lrrr.org/junk /tmp/foo;
squidclient -m PURGE http://www.lrrr.org/junk 删除指定目标
vii. 删除所有对象:必须停止squid,ϖ作如:
# squid -k shutdown
# cd /usr/local/squid/var
# mv cache oldcache
# mkdir cache
# chown nobody:nobody cache
# squid -z
# squid -s
# rm -rf oldcache &
viii.
refresh_pattern帮助squid决定,是否某个给定请求是cache命中,或作为cache丢失对待。仅应用到没有明确过时期限的响应,如 对图片的请求。原始服务器能使用Expires头部,或者Cache-Control:max-age指令来指定过时期限。要使用正则验证,估计影响性 能,可以不设置
- 最新评论