高负载情况下的squid 最大可打开文件数

03月 14th, 2008 xiao H Posted in 服务器应用 |

这个问题只有在squid压力大时才会出现,linux默认的用户最大可开启文件数为1024,而编squid 2.6的版本的话编译时默认参数为max_filedesc 16384,这样在高负债下squid 的性能就会很受影响。所以我们可以用ulimit 命令改一下啊,增大这个数值。 

#ulimit -Hn 20480

查看squid具体用了多少文件描述符的方法
#squidclient -p 80 -U manager -W squidstats mgr:info

输出结果中:

File descriptor usage for squid:
        Maximum number of file descriptors:   16384
        Largest file desc currently in use:    169
        Number of file desc currently in use:  132
        Files queued for open:                   0
        Available number of file descriptors: 16252
        Reserved number of file descriptors:   100
        Store Disk files open:                  39
        IO loop method:                     epoll

表示最大的文件描述符为16384,当前使用的最大的文件描述符是169,总共在使用的有132个。

附:

ulimit命令的详细介绍

语  法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大小>][-m <内存大小>][-n <文件数目>][-p <缓冲区大小>][-s <堆叠大小>][-t <CPU时间>][-u <程序数目>][-v <虚拟内存大小>]

补充说明:ulimit为shell内建指令,可用来控制shell执行程序的资源。

参  数:
  -a  显示目前资源限制的设定。 
  -c <core文件上限>  设定core文件的最大值,单位为区块。 
  -d <数据节区大小>  程序数据节区的最大值,单位为KB。 
  -f <文件大小>  shell所能建立的最大文件,单位为区块。 
  -H  设定资源的硬性限制,也就是管理员所设下的限制。 
  -m <内存大小>  指定可使用内存的上限,单位为KB。 
  -n <文件数目>  指定同一时间最多可开启的文件数。 
  -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。 
  -s <堆叠大小>  指定堆叠的上限,单位为KB。 
  -S  设定资源的弹性限制。 
  -t <CPU时间>  指定CPU使用时间的上限,单位为秒。 
  -u <程序数目>  用户最多可开启的程序数目。 
  -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB。

标签:, ,

本站原创作品采用知识共享署名-相同方式共享 3.0 许可协议进行许可。
转载请注明 作者:xiao H,出处:linuxbyte.org ,原始链接:高负载情况下的squid 最大可打开文件数



You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

我来说两句