PHPのセッションハンドラをデフォルトで使っている場合のガーベージコレクタ(GC)の話。 PHPはサーバ上で保存してあるセッション情報を保存してあるファイルをを定期的に削除している。 削除するタイミングはPHPが起動する時、HTTPリクエストまたはコマンドラインからPHPが起動した際に一定の確立でGCが起動するようになっている。Javaのアプリケーションサーバならメモリ上にJVMが常駐しているからプログラムの起動とは非同期にできるが、PHPは同期で処理している。そのため、PHPではGCが起動したときにプログラムの実行時間が長ってしまう。 よって、大規模サイトになったときには必然的にセッションファイルが扱うセッションが多くなるため、GCにかかる時間が長くってしまうから、GCはPHPに任せないで自前で用意すべき。 PHPのGCを制御する設定はphp.iniに記載されている以下の3つ。 ses