squid优化建议
By admin
- One minute read - 115 wordssquid优化建议(转贴) 作者:听松一隅
SQUID是个很不错CACHE服务器,各大门户网站都在用。过去二天也做了些SQUID优化,把经验贴上来。
几个重要参数:
- maximum_object_size 是能cache最大的文件大小。对应wmv,rm文件,建议设置为32768 kB
- maximum_object_size_in_memory 是在内存中cache的最大文件大小。一般为128的倍数.
- cache_mem 是SQUID可用到的最大内存。经实践,4G内存的服务器用2G;超过2G导致SQUID运行不稳
首先要分析SQUID所cache内容:
运行 squidclient -p 80 cache_object://localhost/info 能看到如下内容:
Storage Swap size: 7549104 KB Storage Mem size: 418804 KB Mean Object Size: 160.46 KB
Mean Object Size是平均内容大小,一般要把maximum_object_size_in_memory设置成离它最近的128的倍数。在这个例子中maximum_object_size_in_memory 的值应该是256kB。
cache_mem 一般设置成服务器内存的一半或更多,只要运行过程中LINUX没有使用SWAP就可以。
再就是按业务分SQUID: 比如某个论坛,用户能上载图片和视频;当然我们要把上载的图片、视频放在单独的域名上,比如img.example.com, video.example.com;这两个域名只提供静态文件服务。
根据统计,图片的平均大小在100KB,视频的平均大小在4M,差别是很大,应该建两个squid分别作图片和视频的CACHE。图片SQUID的 maximum_object_size_in_memory 设置为256KB,视频的SQUID的maximum_object_size_in_memory设置为8196KB。
实际应用中,原来把图片和视频混在一起的CACHE HIT RATE只有60%,CPU占用率经常在50%以上。分开后图片的CACHE HIT RATE达到95%,CPU占用率降到15%;视频的CACHE HIT RATE到80%了,取得了很好的效果
附上非常有用的squid命令: list of useful squidclient commands
- get squid run time info: squidclient -p 80 mgr:info
- update specific url squid cache: squidclient -p 80 -m PURGE http://www.linux.com.cn/squidclient -p 80 http://www.linux.com.cn/
- get squid memory detail info: squidclient -p 80 mgr:mem
- get squid cached objects list: squidclient -p 80 mgrbjects. use it carefully, it may crash you squid
- get squid diskd stats: squidclient -p 80 mgr:diskd