PHP

Tokyo TyrantによるHAなセッションストレージ 2 PHPから利用する篇

PHPからセッションストレージとしてTokyo Tyrant (TT)を使用する場合、PHP用のTTクライアントライブラリが必要になるが、悲しい事に公式なライブラリはない。 幸い何種類かPHP用のライブラリが公開されているので、その中のどれかを使わせてもらおう。 Net_T…

SET NAMES のいらない生活

PHPとRubyのMySQLクライアントライブラリを清く正しく使う方法*1をまとめてみた。Shift_JISが来てもU+00A5が来ても大丈夫なはず。 汚れた部分を見つけた方はぜひご指摘を! Version MySQL Server (CentOS 5.2) mysql-server-5.0.45-7.el5 MySQL Client (Ubun…

APCの動作 3 設計と設定

PHP

前回、前々回からの続き。APCの設定というと、FacebookでのAPC使用方法を紹介したapc@facebookがとっても有用。 内容については、id:i_ogiさんがまとめられているfacebookでのAPCの設定というエントリーを読むのがおすすめ。 といっても、APCを使うサイト全…

APCの動作 2 キャッシュの削除

PHP

前回からの続きどんどん内容が怪しくなってきているので、引き続きツッコミは歓迎しておりまする。 削除 apc_cache_expunge キャッシュの片付けを行う関数 メモリの確保に失敗すると呼ばれる 呼ばれるとapc.phpでの「Cache full count」がひとつ増える ttlが…

APCの動作 1 キャッシュの取得と生成

PHP

APCの動作について調べる必要があったので、調べた際のメモを公開。今回はキャッシュの取得や格納部分について。元気があればキャッシュの削除等についても公開するかも。 設定によってどういった動作をするのかがメインなので、Opcode周辺には触れない。と…

PHPのセッション管理に使う箱選び 4

PHP

前回からの続き まとめ リクエスト/秒を同じグラフにしてみると、5000〜10000リクエスト(セッション)くらいまでは標準方式やmemcachedが速いけど、それ以上になるとInnoDBの方が高速なのがわかる。 最長待ち時間についても同じで、リクエストが少ない場合の…

PHPのセッション管理に使う箱選び 3

PHP

前回からの続き memcached 使用したmemcachedのバージョンは1.2.1。 クライアントにはPECLのmemcache 1.62を使用。設定は初期値のまま。 GCは1/100の設定だけど、処理自体はmemcached側に任せてPHP側では何もしない。 5000リクエストくらいまでは景気が良い…

PHPのセッション管理に使う箱選び 2

PHP

前回からの続き MySQL DBにはMySQL-5.0.27を採用。 MyISAMとInnoDBで比較してみる。MEMORY(HEAP)は試していない。MySQLサーバへはUNIXドメインソケットを使って接続し、毎回接続/切断を行うようにしてみた。GCは1/100のまま。 設定の問題もあるかもしれない…

PHPのセッション管理に使う箱選び 1

PHP

PHPには元々セッション管理の機能が用意されているので、一般的な環境であれば組み込みの関数を呼ぶだけでセッション変数を介して値の保存と取得ができるようになる。 この機能は、内部的にはセッション変数の内容をシリアライズした文字列をファイルに保存…