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