Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1095714
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类: 系统运维

2014-06-07 11:16:31


    几年前也维护过squid, N久不接触东西都忘光了。翻了之前的东西,记录如下:

    cache object的过期与否取决于refresh_pattern参数,实在是太复杂,还是看官方手册比较好。

    squid自己维护的cache存放系统有aufs/coss等,这个有不同的适用场景。比如aufs把文件存放在随机字符串为名字的文件夹上/datadir/000/000/0001(类似)上,当cache object是大量小文件的时候,每次都要open/fstat/read/close(系统调用)操作来寻找该目录下的cache。浪费cpu/io。而coss就解决了这个问题。关于它的介绍实在太复杂,个人没办法去理解,所以每次都要看手册了。
 cache_dir coss /data/stripe xxxx ...overwrite =...

   下面说下squidclient输出的信息
mgr:info
看hit ratios,5分钟,1小时,包括内存,disk命中的,当然mem命中更好。

mean object size,平均cache的文件大小,这个非常重要,关系到这2个参数设置,maximum_obj_size_in_mem 和max_obj_size,设置不当,大量的文件不会被cache导致回源,命中率非常低,cdn也失去了意义了。其中mean object size * storeEntries 结果可以了解到缓存目录使用情况。

cache_swap_low/high, cache占用内存比例超过多少会删除部分,然后低于的时候停止删除。


last failed connect at :xxx 对比下系统时间,可能源站的load和/网络有问题,导致回源失败。

mgr:mem 一项:

storeEntry 可以看到内存有多少cache object和每个object大小,这个可以知道内存占用情况。
mem_node ...  同上
memobject ...同上

若cache dir是1T,每个文件大小30k,大概放3600万
每个storeEntry ,外加md5 digit/index等,3600*130 ==4G内存。

快速删除cache,比如遇到非法图片,文章等
1. web端先删掉
2. squid 定期rotate log(放crontab),然后过滤出该时间段的url放txt, 假如知道图片是某个时间段内上传的,过滤该txt然后squidclient -p 80 -PURGE url

这样比传统的逐个搜cache_dir要快得多。

还有一个,要优化回源站的路由和网络,避免走公网或者跨ISP。

阅读(1107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~