PHPセッションのガベージコレクションの推奨値について

セッションの有効時間を長くしたいと思った。

 

それは、 session.gc_maxlifetime = XXXXX

の値を大きくすれば良い。

 

ただその際、溜まるセッションファイルが増えるので、

削除するタイミングも増やすべきか悩んだ。

session.gc_divisor = XXXX の値。

 

デフォルトは 1000分の1 の確率で有効期限が切れたセッションファイルを削除。

 

 

結果としては、しばらく様子見することにした。

 

PHP - PHPのガベージコレクションの発生確率について|teratail

「(新しいものもふくめて)すべての既存のセッションの1%が他のセッションに対してGCを引き起こす」

 

毎度、削除処理が走ると処理が遅くなりそうだから、1000分の1の確率で処理が遅くなる方で、ファイルが増えすぎないかまずは検証してみる。

session.gc_divisorの値を1にして、1/1の確率で削除するようにすることを最初は考えた。しかし処理が1つ増えるので、その分処理が遅くなるということを考慮した方がいいということだな。