Squid故障
1、COSS will not function without large file support (off_t is 4 bytes long. Please reconsider recompiling squid with --with-large-files
Bungled squid_webcache.conf 。。。。。。。
检查是否在编译squid的时候未加入 --with-large-files 选项,如果是,重新加入此选项再编译一次squid
2、使用coss缓存格式的时候,squid不断重建cache
可能原因为maxfullbufs值过低,去掉maxfullbufs限制,让其值为无限
3、日志中有类似如下的内容:
2007/03/05 14:46:56| Ready to serve requests.
2007/03/05 14:46:59| clientReadRequest: FD 11 (192.168.1.5:34061) Invalid Request
Illegal character in hostname; underscores are not allowed
注释: 无效的字符串,访问地址中不允许下划线。
解决办法 :
squid 2.5 中,编译的时候加入如下参数
--enable-underscore
允许解析的URL中出现下划线,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址。
对于 2.6 版本,编译时没有这个参数,这个参数出现在 squid.conf 的配置文档里,说明是这样的:
allow_underscore New option to allow _ in hostnames, replacing the similar build time configure option in 2.5 and earlier.
具体的在 squid.conf 中的参数,可以在配置文档里搜索一下 allow_underscore,看一下配置文档的具体注释。
4、squid的cache.log日志中又类似如下的警告:
WARNING: 100 swapin MD5 mismatches
这个错误是说squid读入一个缓存文件的时候,存储在接口对应的位置的URL不是
squid认为应该存储在那里的数据。这可能是swap.state有错误或文件指到了磁盘
上错误的块(文件系统有错误)。
停止squid应用,删除swap.state然后启动squid,让它通过读取缓存文件来重建缓存
记录,如果重建后仍然出现上面的情况,那应该就是文件系统或磁盘有问题了。
5、日志中出现下面警告:
Jun 28 11:14:38 localhost squid[27178]: squidaio_queue_request: Syncing pending I/O operations.. (blocking)
Jun 28 11:14:59 localhost squid[27178]: squidaio_queue_request: Synced
Jun 28 11:14:59 localhost squid[27178]: storeAufsOpenDone: (2) No such file or directory
Jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache1/00/6B/00006B29
Jun 28 11:14:59 localhost squid[27178]: storeAufsOpenDone: (2) No such file or directory
Jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache1/00/DC/0000DC36
Jun 28 11:14:59 localhost squid[27178]: WARNING: 1 swapin MD5 mismatches
Jun 28 11:14:59 localhost squid[27178]: WARNING: Disk space over limit: 18925740 KB > 16777216 KB
Jun 28 11:14:59 localhost squid[27178]: storeAufsOpenDone: (2) No such file or directory
Jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache2/00/92/0000924F
Jun 28 11:14:59 localhost squid[27178]: storeAufsOpenDone: (2) No such file or directory
Jun 28 11:14:59 localhost squid[27178]: /data/squid/cache_webcache1/03/6F/00036FB6
Jun 28 11:14:59 localhost squid[27178]: squidaio_queue_request: Async request queue growing uncontrollably!
解决方法:
检查配置文件,cache设置为aufs文件系统格式,将此设置改为ufs,重建cache缓存目录
6、运行reconfigure的时候出现squid: ERROR: no running copy
原因是找不到pid文件,如果不是使用默认的squid.conf作为squid的设置文件,在用squid目录下sbin/squid进行重新启动等动作的时候要加上-f的参数制定配置文件,同时检查pid文件是否存在,有时候可能错误地配置了pid文件到不存在的目录,或者将pid文件配置到了应用没有权限写入的目录,导致没有创建pid文件,如果pid文件不存在,可以手工创建该pid,然后获取squid的pid并写人pid文件。
7、squid在压力大的情况下响应非常慢
检查是否文件描述符太小,如果是,调整文件描述符限制,重启squid,检查squid运行的文件描述符,如果为调整后的,则在启动脚本处启动squid的地方加入调整文件描述符的命令,否则除此外还需先调整文件描述符限制然后重新编译安装一次squid
8、缓存效率下降,查看日志无报错,netstat -na查看连接有比较多的连接为SYN_RE,且多为同一IP过来的连接
优化TCP网络
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 1 > /proc/sys/net/ipv4/tcp_synack_retries
echo 1 > /proc/sys/net/ipv4/tcp_syn_retries
9、缓存效率低,网卡输入输出流量差距很小。
首先查看系统日志有无squid的报错,如果没有再查看dmesg,看看有无丢包,是否网卡问题,如果没有再查看网关
使用squid的时候网关问题关系重大,如果网关没有配置正确,将可能导致用户访问不了。
10、日志报如下错误:squid: Could not determine fully qualified hostname. Please set 'visible_hostname'
检查/etc/hosts文件、/etc/sysconfig/network文件、和hostname命令结果,看看三者是否对应,如果不对应,需要修改为对应,并且/etc/hosts文件中对应的配置还需要有合法域名格式
/etc/sysconfig/network中的hostname是系统启动时候加载的hostname值,如果此值与/etc/hosts文件中的值不对应并且squid中没有设置visible_hostname选项的话,会导致系统重启后squid不能正常启动。
11、日志大量报如下错误:
Apr 29 08:28:56 localhost squid[13851]: httpReadReply: Excess data from "HEAD http://192.168.230.1/"
Apr 29 08:28:56 localhost squid[13851]: httpReadReply: Excess data from "HEAD http://192.168.230.1/"
这表明服务器返回一个超过squid声明的响应对象最大值的返回值。即:对请求做了限制,例如大小限制。
它违反了HTTP协议并导致服务器返回被截断。
12.runcache发现频繁重启后停止服务:
:./bin/RunCache Running: squid -sY >> /usr/local/squid//var/squid.out 2>&1
./bin/RunCache: line 35: 20000 File size limit exceededsquid -NsY $conf >>$logdir/squid.out 2>&1
./bin/RunCache: line 35: 20177 File size limit exceededsquid -NsY $conf >>$logdir/squid.out 2>&1
RunCache: EXITING DUE TO REPEATED, FREQUENT FAILURES
故障原因: log超过了ext3文件系统最大支持容量2G导致,解决办法:
1)每天轮循一次日志0 0 * * * /usr/local/squid/sbin/squid -k rotate
转自:http://hi.baidu.com/ncache/blog/item/661914102839c176cb80c444.html
以下为个人总结
一:报错信息:
FATAL: Failed to verify one of the swap directories, Check cache.log
for details. Run 'squid -z' to create swap directories
if needed, or if running Squid for the first time.
Squid Cache (Version 2.6.STABLE18): Terminated abnormally.
未执行squid -z命令需要执行该命令初始化cache目录,假如想观察这个过程 squid -zX
Creating Swap Directories
FATAL: Failed to make swap directory /usr/local/squid/var/cache/00:
(13) Permission denied
确认/usr/local/squid/var/cache目录的所有组成都可被squid.conf给定的用户ID访问
二:
WARNING:squidaio_queue_request: WARNING - Queue congestion
IO的队列满了, ,重谝一下源代码,加大IO的队列或换一种IO方式。
编译时:--enable-async-io=40 (我的是40,少了)
三:
helperOpenServers: Starting 5 'dnsserver' processes
ipcCreate: fork: (12) Cannot allocate memory
WARNING: Cannot run '/opt/squid/libexec/dnsserver' process.
系统内存被耗光,没有内存分配给squid的dns进程
四:
FATAL: xcalloc: Unable to allocate 1 blocks of 4108 bytes!
Squid 开启大内存导致进程内存溢出
五:
2009/08/27 20:49:55| HTCP Disabled.
2009/08/27 20:49:55| sendto FD 17: (1) Operation not permitted
2009/08/27 20:49:55| ipcCreate: CHILD: hello write test failed
????
cu的朋友总结是configure时编译了--enable-icmp参数,去掉即可。
六:
commBind: Cannot bind socket FD 17 to *:80: (98) Address already in use
FATAL: Cannot open HTTP Port
这个消息出现在bind()系统调用失败时,,因为请求端口已经被其他们应用程序所打开..通常,,若已有一个squid在运行,而又试图启动第2个squid实例,就会发生这种情况..假如你们见到这个错误消息,请使用ps来观察是否squid已经在运行..
Squid 使用SO_REUSEADDR socket选项,,以便bind()调用总能成功,,即使仍有一些残余(的)socket位于TIME_WAIT状态..若该消息出现,,尽管 squid没有在运 行,,但你们(的)操作系统可能在处理这个问题上有bug..重启操作系统是解决问题(的)一个方法..
squid运行时间长了 系统bug?
Squid故障的更多相关文章
- squid故障汇总
1.COSS will not function without large file support (off_t is 4 bytes long. Please reconsider recomp ...
- centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128 DNSPOD 第二十七节课
centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squ ...
- web cache server方案比较:varnish、squid、nginx
linux运维中,web cache server方案的部署是一个很重要的环节,选择也有很多种比如:varnish.squid.nginx.下面就对当下常用的这几个web cache server做一 ...
- Squid服务日志分析
Squid服务日志分析 Apache 和 Squid 是两种著名的代理缓存软件,但Squid 较 Apache 而言是专门的代理缓存服务器软件,其代理缓存的功能强大,支持 HTTP/1.1 协议,其缓 ...
- 使用Varnish代替Squid做网站缓存加速器的详细解决方案----转载
[文章作者:张宴 本文版本:v1.2 最后修改:2008.01.02 转载请注明出处:http://blog.s135.com] 我曾经写过一篇文章──<初步试用Squid的替代产品──Varn ...
- Squid 反向代理加速网站
本实例的域名是 wenjin.cache.ibm.com.cn,通过DNS的轮询 技术,将客户端的请求分发给其中一台 Squid 反向代理服务器处理,如果这台 Squid 缓存了用户的请求资源,则将请 ...
- varnish和squid的对比
Varnish与Squid的对比 说到Varnish,不能不提Squid,Squid是一个高性能的代理缓存服务器,它和varnish之间有诸多的异同点,这里分析如下: 下面是他们之间的相同点: ...
- CentOS 6.4下Squid代理服务器的安装与配置,反向代理
CentOS 6.4下Squid代理服务器的安装与配置 一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件 ...
- Vanish/squid
http://www.yl1001.com/article/5291411898652918.htm HTTP加速 简单的说,在本次测试中,Varnish将来自80的请求转发到后端的nginx8080 ...
随机推荐
- C++ 面试题整理
我和朋友们面到的c++试题整理 虚表 static const sizeof 可构造不可继承的类 stl Iterator失效 map vector vector的removed_if 优化 ---- ...
- URAL 1297 Palindrome 最长回文子串
POJ上的,ZOJ上的OJ的最长回文子串数据量太大,用后缀数组的方法非常吃力,所以只能挑个数据量小点的试下,真要做可能还是得用manacher.贴一下代码 两个小错,一个是没弄懂string类的sub ...
- POJ2406 Power Strings KMP算法
给你一个串s,如果能找到一个子串a,连接n次变成它,就把这个串称为power string,即a^n=s,求最大的n. 用KMP来想,如果存在的话,那么我每次f[i]的时候退的步数应该是一样多的 譬 ...
- 【转】Wireshark:“There are no interfaces on which a capture can be done ”
linux环境下 两种解决方案: 第一种方法:使用root用户登陆 xiaoshancun@xiaoshancun-VM500:~$ sudo wireshark 第二种方法 ...
- cojs 西瓜 解题报告
首先我们要知道pick公式 设二维平面内任意多边形面积为S 设多边形内部整点数为a 设多边形边界的整点数为b 则满足S=a+b/2-1 变形得a=S-b/2+1 由期望的线性性质我们把问题转化为 1. ...
- Linux 线程模型的比较:LinuxThreads 和 NPTL
Linux 线程模型的比较:LinuxThreads 和 NPTL GNU_LIBPTHREAD_VERSION 宏 大部分现代 Linux 发行版都预装了 LinuxThreads 和 NPTL,因 ...
- Linux开机启动流程
开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程: 1)加载BIOS 2)读取MBR 3)Boot Loader 4)加载内核 ...
- Hibernate逍遥游记-第10章 映射继承关系-001继承关系树中的每个具体类对应一个表
1. 2. <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate ...
- Ado.Net小练习03(省市联动)
前台界面: 后台代码: namespace _04省市联动 { public partial class Form1 : Form { public ...
- 在PowerDesigner中设计物理模型3——视图、存储过程和函数
原文:在PowerDesigner中设计物理模型3--视图.存储过程和函数 视图 在SQL Server中视图定义了一个SQL查询,一个查询中可以查询一个表也可以查询多个表,在PD中定义视图与在SQL ...