欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

学习笔记-Squid基础

程序员文章站 2022-05-28 13:01:38
...

服务器代理缓存技术: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:邻居关系

  1. 常用命令:
  2. #/usr/local/squid/sbin/squid -z // 初始化缓存空间
  3. Ps:有问题,常见是目录权限问题 chown –R squid:squid /cacheX
  4. #/usr/local/squid/sbin/squid -k parse //检查squid.conf语法配置
  5. #/usr/local/squid/sbin/squid -N -d1 //前台输出
  6. #/usr/local/squid/sbin/squid –s //后台运行
  7. #/usr/local/squid/sbin/squid -k shutdown //关闭服务
  8. #/usr/local/squid/sbin/squid -k reconfigure // 载入新的配置文件
  9. #/usr/local/squid/sbin/squid -k rotate 轮循日志
  10. 把squid 添加到系统启动项
  11. 编辑 /etc/rc.d/rc.local
  12. 添加如下行: /usr/local/squid/sbin/squid –s
  13. #more /usr/local/squid/var/logs/access.log | grep TCP_MEM_HIT
  14. 该指令可以看到在squid 运行过程中,有哪些文件被squid 缓存到内存中,
  15. 并返回给访问用户。
  16. #more /usr/local/squid/var/logs/access.log | grep TCP_HIT
  17. 该指令可以看到在squid 运行过程中,有哪些文件被squid 缓存到cache
  18. 目录中,并返回给访问用户。
  19. #more /usr/local/squid/var/logs/access.log | grep TCP_MISS
  20. 该指令可以看到在squid 运行过程中,有那些文件没有被squid 缓存,而
  21. 是向原始服务器获取数据并返回给访问用户。
  22. squid命中率分析
  23. squid/bin/squidclient -p 80 mgr:info //一些运行状态信息
  24. squid/bin/squidclient -p 80 mgr:5min //5分钟信息
  25. 取得squid 内存使用情况:
  26. squidclient -p 80 mgr:mem
  27. #取得squid 已经缓存的列表:
  28. #squidclient -p 80 mgr:objects
  29. 取得squid 的磁盘使用情况:
  30. squidclient -p 80 mgr:diskd
  31. 强制更新某个url :
  32. squidclient -p 80 -m PURGE http://www.xxxx.com/ static.php
  33. 更多的请查看:
  34. squidclient-h 或者 squidclient -p 80 mgr:
  35. 查命中率:
  36. /usr/local/squid/bin/squidclient -h 1.1.1.1 -p80 mgr:info
  37. /usr/local/squid/bin/squidclient -h 具体的IP -p80 mgr:info