全部博文(321)
分类: LINUX
2009-11-02 11:28:43
squid优化建议(转贴) 作者:听松一隅 SQUID是个很不错CACHE服务器,各大门户网站都在用。过去二天也做了些SQUID优化,把经验贴上来。 几个重要参数: * maximum_object_size 是 能cache最大的文件大小。对应wmv,rm文件,建议设置为32768 kB * maximum_object_size_in_memory 是在内存中cache的最大文件大小。 * 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 squidclient -p 80 * 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 |