閱讀320 返回首頁    go 阿裏雲 go 技術社區[雲棲]


squid大壓力時打開文件數的調整

當squid壓力大時出了問題.後來發現原因是linux用戶默認打開的最大的文件描述符為1024,訪問量大的話就不夠用,squid的性能驟降,今天是碰到第一回了,檢查了一個下午.

解決辦法如下

因為squid 2.6的版本的話編譯時默認參數為max_filedesc 16384

但由於linux的默認不一樣.linux隻有1024,所以我們還要改一下

linux本身對打開文件數的控製。

1.#ulimit -Hn 63355

然後寫進/etc/rc.local吧.然後啟動squid就可以了.

查看squid具體用了多少文件描述符的方法

1.#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。

最後更新:2017-01-04 22:34:34

  上一篇:go 讓CentOS 5.5支持ext4
  下一篇:go 網站壓力測試工具webbench