LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2928|回复: 26

Squid服务器工作不正常,求救啊!!!

[复制链接]
发表于 2007-5-10 00:06:20 | 显示全部楼层 |阅读模式
刚发现有这么个版,刚才发到网络安全中去了,汗死~~~~~

在 Linux 下搭了个网关,采用 NAT+Squid 方式上网

环境是 Fedora Core 6 X86_64  Squid 是 2.6 版本的,FC6自带的,更新到
最新了

NAT 采用 Masquerade 方式  Squid 监听内网 3128 端口,然后 iptables
把目标是 80 端口的请求 redirect 到 3128 端口上

2.6 版本的 squid 作透明代理很方便,直接在 http_port 3128 transparent
就行了

现在问题是,负载轻的时候工作很正常,当负载比较大的时候,squid 就不能正常工作了

今天早上刚试的,squid 开了 114 个线程,结果所有都上不了网了,我在网
关上直接上 www.sohu.com 都不行,但是 ping 所有的网址都通,也就是说
网络情况很正常,但是 squid 一个网页都取不回来,导致整个内网都上不了
web 了,甚至我在网关上也上不了 web 页了,但是,我在网关上直接上 sohu
应该不会通过 squid 代理上网啊,因为网关直接有外网地址,为什么squid会
影响到网关自己都不能浏览web页呢??

在这种情况下,除了 web 页上不了之外,其它一切网络正常,ftp照样可用,就是
不能上网,连校内网都上不了

后来我把 squid 关了,只使用 masquerade NAT 方式,内网就可以正常上网
了,一点都不影响

squid 怎么这么弱?? 114 个并发连接请求就让它 down 掉了???
我的机器可是有 8G 内存,4颗 CPU 啊~~~

想请问有经验的人,这是什么原因啊?  我现在都不敢启动 squid 了,而且事实
上证明,开了 squid ,打开一个网页明显比不用 squid 直接用 NAT 来得慢,晕
死,这个不是号称缓存网页,可以使得打开网页更快吗? 我自己都能感觉出来,
开了 squid 明显打开网页要慢得多了~~~~~
发表于 2007-5-10 12:30:16 | 显示全部楼层
缺省情况下,squid只能使用1024个文件描述符,不知你的是否是这个原因,你可以查看一下日志
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-10 17:30:19 | 显示全部楼层
我试过了,用 ulimit -n 8000 ,然后再启动 squid 的,
看 squid 的哪个日志有记录这个?????  好像只有访问了哪些网站的日志吧
回复 支持 反对

使用道具 举报

发表于 2007-5-10 21:59:04 | 显示全部楼层
系统日志,如果出现文件描述符不足的情况,会记录在系统日志中
/var/log/syslog
或者
/var/log/message

还有,修改缺省文件描述符数是需要重新编译squid的(最起码2.4是这样的,不知道现在的版本是什么,是否已经修正这个问题)

在对源代码进行configure之前先用ulimit设置一下,然后再每次运行之前都先运行ulimit。

squid的管理页面可以查看到可以使用的文件的描述符数和已经使用的文件描述符数。

只是不知道你的问题是不是这个引起的。
所以需要你查看一下系统日志(不是squid的日志)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-11 18:15:37 | 显示全部楼层
我估计不是这个问题引起的

如果是因为这个,那最起码它能打开 1024 个连接吧,可是事实上,整个局域网内,没有一个人可以上网,没人能打开连接,

并且,我在网关上直接上网,因该根本不通过 squid 代理吧,因为我直接有外部地址,我一样自己都上不了网,ping 能 ping 通,就是打不开网页

关掉了 squid 也一样,必须重启网关服务器后才可以上网~~~~不明白为什么
回复 支持 反对

使用道具 举报

发表于 2007-5-14 05:23:53 | 显示全部楼层
关于文件描述符限制的一些网上的英文信息:
http://www.onlamp.com/pub/a/onlamp/2004/02/12/squid.html
此文似乎说一个用户连接最坏的情况需要3个描述符。

If you already have Squid compiled and installed, you can just look at the cache.log file for a line like this:

2003/12/12 11:10:54| With 1024 file descriptors available

If Squid detects a file descriptor shortage while it is running, you'll see a warning like this in cache.log:

WARNING! Your cache is running out of file descriptors
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-16 13:17:59 | 显示全部楼层
我又测试了一下,
重新编译了 squid ,最大打开文件数设置为 32768 了,
/proc 下的 file-max  也开了
ulimit -n 65535
并且用它自带的 cachemgr 看了,最大打开文件数的确为 32768

可是当打开文件数为 200 多的时候(用它的cachemgr看的),整个局域网内的电脑都上不了网了,就是那种 ping www.sohu.com 都能 ping 通,而且显示速度很快,但是就是网页打不开来,一直显示在打开中,就是打不开来

我在网关直接用firefox 上 www.sohu.com 也是一样的情况,我很奇怪,网关直接有外部地址,不会通过 squid 代理,为什么会影响到网关也打不开网页???

把 squid 关掉换成 nat 直接上网方式也没用,一样上不了网了,只好重起了一下网关那台电脑,然后不开 squid ,直接用 nat 上网,现在就正常了

晕死,才 50 台电脑共享上网就顶不住了????

我在想,会不会是 squid 消耗光了所有的 tcp 连接,导致没法再连接了呀????

系统有这样的设置吗?
回复 支持 反对

使用道具 举报

发表于 2007-5-16 18:11:20 | 显示全部楼层
netstat -apnt 看看有多少 squid 的连接?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-17 12:32:20 | 显示全部楼层
netstat 查过

当时是 200 多个 squid 的连接,以前 squid 当掉的时候,我查了一下,只有 114 个 squid 的连接 ,真不明白为什么会 down 掉

最不理解的问题就是,我自己在网关上网,所以根本不通过 squid 代理,也一样打不开网页,但是 ping 能 ping 通,很正常,关掉 squid 也不行,非得重启电脑才可以,实在想不明白为什么

以下是 squid down 的那个时刻我用 cachemgr 查出来的 squid 当时的状态,大家帮我分析一下吧

CacheMgr@10.0.0.201: infoCache Manager menu



Squid Object Cache: Version 2.6.STABLE13
Start Time:Sat, 12 May 2007 06:04:02 GMT
      Current Time:Mon, 14 May 2007 05:54:25 GMT

Connection information for squid:
        Number of clients accessing cache:        62
        Number of HTTP requests received:        122041
        Number of ICP messages received:        0
        Number of ICP messages sent:        0
        Number of queued ICP replies:        0
        Request failure ratio:         0.00
        Average HTTP requests per minute since start:        42.5
        Average ICP messages per minute since start:        0.0
        Select loop called: 6040467 times, 28.511 ms avg
Cache information for squid:
        Request Hit Ratios:        5min: 10.1%, 60min: 23.3%
        Byte Hit Ratios:        5min: 19.5%, 60min: 4.2%
        Request Memory Hit Ratios:        5min: 1.7%, 60min: 11.8%
        Request Disk Hit Ratios:        5min: 93.1%, 60min: 35.0%
        Storage Swap size:        907032 KB
        Storage Mem size:        87800 KB
        Mean Object Size:        15.29 KB
        Requests given to unlinkd:        4509
Median Service Times (seconds)  5 min    60 min:
        HTTP Requests (All):   0.00815  0.30459
        Cache Misses:          2.50793  0.68577
        Cache Hits:            0.00379  0.00379
        Near Hits:             0.00000  0.32154
        Not-Modified Replies:  0.00000  0.00379
        DNS Lookups:           0.00278  0.00278
        ICP Queries:           0.00000  0.00000
Resource usage for squid:
        UP Time:        172222.279 seconds
        CPU Time:        316.784 seconds
        CPU Usage:        0.18%
        CPU Usage, 5 minute avg:        0.32%
        CPU Usage, 60 minute avg:        1.05%
        Process Data Segment Size via sbrk(): 136040 KB
        Maximum Resident Size: 0 KB
        Page faults with physical i/o: 0
Memory usage for squid via mallinfo():
        Total space in arena:  136040 KB
        Ordinary blocks:       136029 KB      2 blks
        Small blocks:               0 KB      0 blks
        Holding blocks:         11668 KB      5 blks
        Free Small blocks:          0 KB
        Free Ordinary blocks:      10 KB
        Total in use:          147697 KB 100%
        Total free:                10 KB 0%
        Total size:            147708 KB
Memory accounted for:
        Total accounted:       121261 KB
        memPoolAlloc calls: 16361746
        memPoolFree calls: 15715918
File descriptor usage for squid:
        Maximum number of file descriptors:   32768
        Largest file desc currently in use:    219
        Number of file desc currently in use:  217
        Files queued for open:                   0
        Available number of file descriptors: 32551
        Reserved number of file descriptors:   100
        Store Disk files open:                   5
        IO loop method:                     poll
Internal Data Structures:
         60333 StoreEntries
         18363 StoreEntries with MemObjects
         18262 Hot Object Cache Items
         59334 on-disk objects



Generated Mon, 14 May 2007 05:54:25 GMT, by
cachemgr.cgi/2.6.STABLE13@CDPServeryu


         Return to squid index
回复 支持 反对

使用道具 举报

发表于 2007-5-17 19:00:21 | 显示全部楼层
不会这么弱吧?关注下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表