2016年12月03日
このエントリーをはてなブックマークに追加
ロードバランサーを利用しているときに、ありがちなトラブルとして、セッションの管理があります。
LB配下の SV01 で処理をしており、次に SV02 にアクセスが振り分けられた場合、セッションはSV01で管理されているので、引き継がれないのです。特にログインしているようなアプリは、画面遷移とともに突然ログアウトしてしまうので、すぐに気づけますし、よく出現するパターンです。

で、NFSで管理しようと最初は思っていました。
しかし数台のサーバーでNFSにアクセスした場合、セッションフォルダ内には、たくさんのセッションファイルができてしまいます。
そしてそれを回避するためには、ディレクトリ階層の指定もできるのでその設定を行います。
# vi /etc/php.ini
;session.save_path = "N;MODE;/path"
session.save_path = "2;/path"

しかしながら、これではNFSでの安定性になんだか不安がありました。速度面も気になります。
ということから、 memcached を利用することにしました。
# vi /etc/php.ini
session.save_handler = memcached
session.save_path = "<サーバーIP>:11211"

これで service httpd reload を行い反映させます。
なおサーバー側で以下のコマンドで動作状況を確認することができます。
emcached-tool localhost:11211 dump

PHPセッションをmemcachedで管理する件


stock_value at 15:31│Comments(0)TrackBack(0)技術 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔