Redis で Resource temporarily unavailable て言われる
自分のところでサービスしているwebアプリでsessionデータのstore先にno SQLであるKVS Redisを使うようにしてみたのですが以下のエラーが出るようになってしまった。
Error while reading from Redis server: Resource temporarily unavailable
webアプリを再起動すると最初の数時間は問題なくsessionデータをstoreしてくれているのですが半日もすると上のエラーが出るようになってしまいwebアプリにアクセス不能になってしまいます。 またそのwebアプリのみを再起動すればまた数時間エラーは出なくなります。
Resource temporarily unavailable を 調べるとプロセステーブルがいっぱいになっているためシステムコールが失敗またはメモリー・スワップ不足の場合起こるようですが今回問題が起こったときにはそのような事は発生していないため謎のままである。
Redisに切り替える前はKyoto tycoonを利用していてさらにその前はmemcachedを使っていました。いずれの時もこのような不具合は発生していなかったのに残念である。
Redisとの接続パラメータ、コネクションの永続化や再接続の設定を色々と変えて何度もトライしましたが同じエラーでお手上げの状態となりました。 まぁ別にRedisじゃなければならない理由は何もないので接続先をKyotoTycoonに戻せば問題解決なのでいいですが時間を無駄にした感で一杯です。
あとgoogleで調べて思ったのはRedisをsessionの保存先に利用しているwebアプリはあまり無いようである。
created: