symfonyTweetこの記事は間違った記事です。MemcachedSessionHandlerで持続的接続を行うとESTABLISHEDが大量に発生する問題を参照してください。相変わらずsymfony2で開発している僕です。Symfony2のMemcachedSessionHandlerを利用してセッションの管理をしていたんですが、ブラウザから実行するとmemcacheのコネクションをずっと持ち続けてしまうという不具合が発生していました。ブラウザからアクセスすればするほどmemcacheとのコネクションが貼りっぱなしになり、、、やがて接続できなくなるというかmemcacheからレスポンスが返ってこなくなるという現象でした。5.4.19」と「Apache/2.2.15」の組み合わせで発生していました。最初はいみがわからなかったけど、まあどうみてもコネクションが貼りっぱなしになっていたので、アレゲな感じだったわけです。頑張って調べてみたところ、Memcachedの処理に問題があるのではないかという結論に達したわけでs。ESTABLISHEDこのように「ESTABLISHED」状態になってしまいます。apacheからレスポンスが返ってきた時点で、本来であればTIME_WAITになっていれば正解かなぁーと・・・まあこの時点でおかしいのはコネクション切る処理を行っていない事かなぁーと思い、以下のようにコードを修正しました。'exit;';このようにコネクションを切る処理を入れてみました。TIME_WAITちゃんとTIME_WAITになる!!!ちなみにunsetでもちゃんとTIME_WAITになる事確認してます。}}ちょっと微妙な実装ですが、まあこれで一旦様子を見ようと思います。本当はもう少し調査に時間かけられたらいいんですが・・・という事で、もっと良い方法を知っている方はぜひ僕に教えてください。2013-12-06どうやら僕が勘違いしていたようです。これは不具合ではないということです。見方によっては不具合かもしれない。}]Memcachedインスタンスの設定をする際に、コンストラクタの引数を設定していたので同じpersistent_idな文字列であればコネクションを使い回してくれるということですね。挙動からみてる感じだと、コネクションを使い回す際は明示的にMemcacheとのコネクションを切る(Memcached::quit())か、インスタンスを破棄しないとコネクションは解放されないっぽいです。同じプロセスの中でしか使い回せないぽい気がするのですが・・・そういう認識であってるのかな。Symfony2の場合はDIあるわけだし、persistent_id指定しなくても良いから、MemcachedSessionHandlerにquitやunsetによる解放の実装が無いのかな・・・。