Redhat とか CentOS についてる squid のパッケージだと、 file descriptor の初期値が 1024。
OS の ulimit -n も 1024 なもんだから、そのまま squid 動かしたら 800~900 くらいしかセッション持てません。
たくさん通信したい環境だとすぐに頭打ちになっちゃいます。
ユーザがたくさんぶら下がってくると cachelog に "WARNING! Your cache is running out of filedescriptors" 等のメッセージが記録されます。
というわけで、現状のままでしばらくデータ取ってみてから max_filedesc の値を増やすのと、 ulimit -n 増やすのをやってみてどのくらい伸びるのかみてみたいとおもいます。
■追記
/etc/security/limits.conf
のなかでの nofile
の指定が効くのは PAM 経由のときだけっぽいので、OS起動時に一緒に上がってくる daemon 系には効かないので、必要な daemon の起動スクリプトに ulimit -n
を記載する。
で、 max_filedesc の値を増やすのと、 ulimit -n 増やすのをやってみたところ(とりあえず 4096 にしてみた)、増やしただけユーザを収容することができた。