服务器代理缓存技术:Squid Squid 用一个单独,非模块,i/o驱动来处理客户请求,支持协议有:HTTP.FTP.SSL.WAIS 简单原理: 1.结构:若干磁盘==》若干分区==》若干目录 2.查询:请求==》hash table ==》 Digest table ==》 文件 Hash table:类似提纲 Digest
服务器代理缓存技术:Squid
Squid 用一个单独,非模块,i/o驱动来处理客户请求,支持协议有:HTTP.FTP.SSL.WAIS
简单原理:
1. 结构:若干磁盘==》若干分区==》若干目录
2. 查询:请求==》hash table ==》 Digest table ==》 文件
Hash table:类似提纲 Digest table:类似目录
3. 工作关系: child-parent 和 sibling
Sibling:邻居关系
<ol class="dp-sql"> <li class="alt"><span><span>常用命令: </span></span></li> <li> <span>#/usr/</span><span class="keyword">local</span><span>/squid/sbin/squid -z // 初始化缓存空间 </span> </li> <li class="alt"><span> Ps:有问题,常见是目录权限问题 chown –R squid:squid /cacheX </span></li> <li> <span>#/usr/</span><span class="keyword">local</span><span>/squid/sbin/squid -k parse //检查squid.conf语法配置 </span> </li> <li class="alt"> <span>#/usr/</span><span class="keyword">local</span><span>/squid/sbin/squid -N -d1 //前台输出 </span> </li> <li> <span>#/usr/</span><span class="keyword">local</span><span>/squid/sbin/squid –s //后台运行 </span> </li> <li class="alt"> <span>#/usr/</span><span class="keyword">local</span><span>/squid/sbin/squid -k shutdown //关闭服务 </span> </li> <li> <span>#/usr/</span><span class="keyword">local</span><span>/squid/sbin/squid -k reconfigure // 载入新的配置文件 </span> </li> <li class="alt"> <span>#/usr/</span><span class="keyword">local</span><span>/squid/sbin/squid -k rotate 轮循日志 </span> </li> <li><span>把squid 添加到系统启动项 </span></li> <li class="alt"> <span>编辑 /etc/rc.d/rc.</span><span class="keyword">local</span><span> </span> </li> <li> <span>添加如下行: /usr/</span><span class="keyword">local</span><span>/squid/sbin/squid –s </span> </li> <li class="alt"><span> </span></li> <li> <span>#more /usr/</span><span class="keyword">local</span><span>/squid/var/logs/access.log | grep TCP_MEM_HIT </span> </li> <li class="alt"><span>该指令可以看到在squid 运行过程中,有哪些文件被squid 缓存到内存中, </span></li> <li><span>并返回给访问用户。 </span></li> <li class="alt"> <span>#more /usr/</span><span class="keyword">local</span><span>/squid/var/logs/access.log | grep TCP_HIT </span> </li> <li><span>该指令可以看到在squid 运行过程中,有哪些文件被squid 缓存到cache </span></li> <li class="alt"><span>目录中,并返回给访问用户。 </span></li> <li> <span>#more /usr/</span><span class="keyword">local</span><span>/squid/var/logs/access.log | grep TCP_MISS </span> </li> <li class="alt"><span>该指令可以看到在squid 运行过程中,有那些文件没有被squid 缓存,而 </span></li> <li><span>是向原始服务器获取数据并返回给访问用户。 </span></li> <li class="alt"><span> </span></li> <li><span>squid命中率分析 </span></li> <li class="alt"><span>squid/bin/squidclient -p 80 mgr:info //一些运行状态信息 </span></li> <li><span>squid/bin/squidclient -p 80 mgr:5min //5分钟信息 </span></li> <li class="alt"><span>取得squid 内存使用情况: </span></li> <li><span>squidclient -p 80 mgr:mem </span></li> <li class="alt"><span>#取得squid 已经缓存的列表: </span></li> <li><span>#squidclient -p 80 mgr:objects </span></li> <li class="alt"><span>取得squid 的磁盘使用情况: </span></li> <li><span>squidclient -p 80 mgr:diskd </span></li> <li class="alt"><span>强制更新某个url : </span></li> <li> <span>squidclient -p 80 -m PURGE http://www<font color="#000000">.xxxx</font>.com/ </span><span class="keyword">static</span><span>.php</span> </li> <li class="alt"><span>更多的请查看: </span></li> <li><span>squidclient-h 或者 squidclient -p 80 mgr: </span></li> <li class="alt"><span>查命中率: </span></li> <li> <span>/usr/</span><span class="keyword">local</span><span>/squid/bin/squidclient -h 1.1.1.1 -p80 mgr:info </span> </li> <li class="alt"> <span>/usr/</span><span class="keyword">local</span><span>/squid/bin/squidclient -h 具体的IP -p80 mgr:info </span> </li> </ol>