PofEAA第五回読書会に参加してきた。
発表に関連した議論の内容を中心に、箇条書きでメモ。
### セッションステート * レコードデータとサーバセッション * セッションステートをRDBに書き出したレコードはレコードデータではない。 * publicかつpersistentなデータがレコードデータであると理解した。 * 文中の「データベースとサーバセッションの中間の位置」とは何か? * 中間の位置ではなく、中間の特性(?)ということみたい。 * 「位置」なる訳は、かなりグレー。 * セッションの特性に応じて、セッションアフィニティ(=スティッキー)にすべきか?セッションマイグレーション(セッションレプリケーション)すべきか?が変わってくると思われる。 * 具体的には・・・ セッションに格納するデータ量の大小、セッションの維持時間 * セッションに格納するデータ量が多い場合→ アフィニティ? * セッションの維持時間短い場合→ アフィニティ? * (セッションアフィニティに関連して)ロードバランシングについて・・・ * 書籍では「クライアントIPアドレスによってロードバランシングする」なる記載があるが、SSLのキーでロードバランシングできるものもある。暗号化の影響を受けず、かつ、決め細やかなロード バランシングが実現できる。 * 書籍では、「クライアントIPアドレスによるロードバラシンシングが機能しにくい」例として、Proxyサーバを介したアクセスとなるAOLが上げられている。が、日本の場合、Docomoが問題となりやすい。 * DOCOMO携帯からのアクセスの場合、リクエストのたびにIPアドレスが変化するので、IPアドレスでロードバランシングすることは問題。サブネット単位で行う必要が有るようだ。 * Session Stateとパフォーマンス * ステートの格納先をServerとするか?DBとするか?の選択基準としては、パフォーマンスよりリソースの観点が重要なのでは? * ちなみに、「パフォーマンス」のファウラー流定義は、邦訳 P6あたりにある。 * PHPにはセッション情報をインメモリに持つ手段が無い。 * スクリプト起動のモデルがCGI的である故 * デフォルトで、セッション情報はファイルに格納する * RDBMSのテーブル(永続化ストレージ or インメモリ)に格納することもできる。 * […]