あらゆるWEBアプリケーションと切っても切れない関係にあるのがセッション。今回このセッション管理を変更することでDBの負荷を劇的に下げてみたので、その経緯を個人ブログに綴ってみました。
ちなみにセッションの管理方法はいくつかありますが、主な方法のPros/Consは以下の通り。
Railsのデフォルトのように、クライアントのクッキーに全てのデータを保存してしまう方法。
LaravelやCakePHPのデフォルトで、CookieにセッションIDだけ持たせて、サーバサイドに実データをファイルとして置く方法。
CookieにセッションIDだけ持たせて、MySQLなど、サーバサイドのRDBに実データを置く方法。
CookieにセッションIDだけ持たせて、Memcached、RedisなどサーバサイドのKVSに実データを置く方法。
セッションをRDBで管理しているケースは多いかと思いますが、トラフィックの多いサイトの場合セッションの管理は非常にマシンパワーを食います。お手軽に大きな効果が期待出来るので、是非参考にしてみてください。
記事はこちらから。
Redisでセッション管理(ElastiCache in VPC)