CentOS7.3学习笔记总结(六十五)-squid代理服务器命中率的提高方法之一
squid代理服务器安装成功,但是只是万里长征第一步,后面还有很多需要优化调整的,命中率就是其中最重要的一项,没有命中率,就起不到代理服务器的作用,还会拖慢上网的速度。
在正式上线生产环境,提高命中率是必不可少的步骤,准备先从单机代理测试,逐步扩大到公司其他电脑的方法,减少代理服务器出现问题对公司网络的影响。经过一会儿的上网测试,通过命令行输入命令查看如下:
命令:
squidclient -p 3128 mgr:info#3128服务器的代理端口
![101803d5aa7fb56d5b24102b68c3774c.png](https://i-blog.csdnimg.cn/blog_migrate/7924dbfd15ff062b8e91d380f80324b9.jpeg)
命令:
cat /var/log/squid/access.log|gawk '{print $4}'|sort|uniq -c|sort –nr#主要查看TCP_MEM_HIT、TCP_IMS_HIT、TCP_REFRESH_HIT
![ef32f814de368e22ebba9f6060599366.png](https://i-blog.csdnimg.cn/blog_migrate/2cb8338abcd6e3f2d864fdc9f8859d9b.jpeg)
上面两张图片说明,命中率明显非常低。通过查阅大量资料(自己对squid了解不是很深),先后调整了maximum_object_size_in_memory、maximum_object_size、cache_mem等参数,经过一段时间的上网测试,几乎没有效果,命中率还是非常低。
接接下来发现一个参数,cache_vary,squid官方网站的文档中说:When 'cache_vary' is set to off, response that have a Vary header will not be stored in the cache.意思是说:当"cache_vary"设置为off时,具有vary头的响应将不会存储在缓存中。我的配置文件中没有此项配置,难道默认是off吗?也没有找到查看squid参数状态的命令(如果大家有查看命令,留言区发送,谢谢),只能直接在配置文件中增加cache_vary on参数,重新加载配置,或者重启服务。
注意此命令在版本4中是不支持的。
![fdb61c508b3ffa553989a4dac053b5b6.png](https://i-blog.csdnimg.cn/blog_migrate/181dc601592d5bcb3ce8022c3a2e9a47.jpeg)