公司的图片服务器一直以来负载都比较高,原因是图片比较分散而且比较小。经常把iowait搞的特别的高。但是只有一台机器也法用squid,经测试squid和apache在同一台机器效果会很糟糕的。因为squid要写磁盘,Apache要读磁盘(本公司的情况是大量的随机读)。
经过测试,决定用lighttpd加上一个国产的模块mod_mem_cache来缓解次问题。经过一天的运行,通过数据的分析,感觉效果简直太明显了。 之前iowait会达到20-30现在最高维持到6左右。 负载有以前的10下降到1以下。 以下是命中率的统计: mem-cache.cached-items: 843700 mem-cache.hitrate(%): 91 mem-cache.used-memory(MB): 2047 安装方法很简单,只需要到官方网站上下载支持mod_mem_cache的patch,安装方法没有什么特别的。安装好后在配置文件中加入如下几行: mem-cache.filetypes = ("image/jpg", "image/gif", "image/bmp", "image/png","image/jpeg")#Cache image file in memory mem-cache.max-memory = 2048 # Use 1G memory cache mem-cache.max-file-size = 64 # Cache maxium 1M-size file 如果有类似问题的公司也采用此方法,相信lighttpd+mod_mem_cache不会让你失望的。