squid 查错简单总结

1) 进入机器
  Ps aux|grep squid看看进程情况
  tail -f access.log看看是否还在滚动
通过 netstat -n|grep ES 看看当前成功连接的连接,再统计下连接数,如果太大则重启squid
/usr/local/squid/sbin/squid -k shutdown
  访问一下存储服务器的页面看看是否有取不到的情况,如果有取不到的情况, 则需进入该存储服务器查看下情况.
查错误日志:
tail -50000 /data3/squid/var/logs/access.log| awk '{if($9!=200&&$9!=400&&$9!=206&&$9!=304&&$9!=403&&$9!=416) print $0}' | grep -v " 0 0 " |more
查错误的列的排重, 其中$7可以改成你要看的列,
 tail -50000 /data3/squid/var/logs/access.log|awk '{count[$7]++}END{for(name in count)print name,count[name] }' |sort -Mk2nr|more
 
2)看看squid cache所在的盘是不是塞满了,如果塞满了的话,进行cache清理,
清理后,如果还是太满,就删除日志目录下有一堆core.开头的
如果空间实在太少
可以把/usr/local/squid/etc/squid.conf中的配置cache_dir diskd /data3/squid/var/cache 51200 16 256
里面的51200改小点,例如改成25600,这样占的cache的空间小些

 
3)如果squid死了,/usr/local/squid/sbin/squid –D 如果还死,看看日志,如果显示squid已经运行的话,查看squid配置,看到pid_filename /usr/local/squid/var/logs/squid.pid ,去把这个文件删除掉,再次重启/usr/local/squid/sbin/squid –D

4) epoll_create(): (89) Function not implemented 错误
./configure的编译参数增加--disable-epoll
--disable-epoll
例如
./configure --disable-epoll  --disable-poll --prefix=/usr/local/squid --enable-dlmalloc --enable-useragent-log --enable-referer-log --enable-default-err-language=English --enable-err-languages="Simplify_Chinese English" --enable-x-accelerator-vary $THREAD --disable-ssl --enable-storeio=diskd,ufs,aufs,null,coss --enable-coss-aio-ops --enable-removal-policies="lru heap" --enable-large-cache-files --with-aufs-threads=16 --with-pthreads --with-aio --with-maxfd=32768 --with-large-files --disable-wccp --disable-wccpv2 --disable-snmp

5)如果是linux机器,1000个连接就很难访问则可能是文件描述符不对,按下面方法查
1)tail -3000 /data1/squid/var/logs/squid.log|grep 1024 |more可以看到
2009/07/31 16:28:36| With 1024 file descriptors available
2009/07/31 16:28:56| With 1024 file descriptors available
则先手动执行
ulimit -SHn 40960
然后杀死squid重启
Freebsd的不需要加描述符处理

kern.maxdsiz=”2G”
添加到
/boot/loader.conf

你可能感兴趣的:(linux,cache,freebsd,服务器,thread,file,存储)