Redisをstorageやcacheとして使う事が多くなってきたのですが、普段使っている分にはさほど問題なかったものがautoscaleなどの頻繁なインスタンスの増減がある環境でtimeoutを上手く設定していないと問題が出る場面に遭遇したのでメモしておきます。 Redisのtimeout値(コネクションは貼られているが、コマンドが送られて来ない時間)はdefaultで300秒になっています。 この値を何らかの理由で0(無効)やとても長い時間に設定している場合、正常にコネクションがcloseされないと、Redis側からはESTABLISH状態に見えたままになていることがあります。 この状態の時はnetstatで確認してもESTABLISHEDになっています。 今回この場面に遭遇したときは、インスタンスの増減が頻繁に行われている時で、Redisの接続が失敗する事が増えてきたため気づきました
![redisをAutoScaling環境で使う場合はtimeoutの設定に注意 - まめ畑](https://cdn-ak-scissors.b.st-hatena.com/image/square/89c4632de10bf795017f1d94e4bbbd173bce84c1/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fc%2Fcon_mame%2F20130321%2F20130321112247.png)