tokyo tyrant + php
DESCRIPTION
Tokyo Tyrant + PHPTRANSCRIPT
Tokyo Tyrant + PHP
小山健一郎
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 2
Agenda
• About Me• About Tokyo Tyrant• Tokyo Tyrant + PHP• Simple Benchmark
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 3
About Me
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 4
• name:–小山健一郎 (id:k1LoW)
•from Fukuoka• type:
–PHPer, CakePHP baker, Emacser• membership:
–Fusic Co.,Ltd • >> http://fusic.co.jp
–codecheck.in • >> http://trac.codecheck.in
and 101000code / 3rdSTONE
About Me
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 5
PHPといえば*AMPPHP = *AMP?
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 6
ちなみに私はLAPPが好きです
PostgreSQL
I like LAPP
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 7
RDBMもいいけれどkey/value型DBMも使ってみたい!
I like RBMS.But,I want to use key/value DBM too.
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 8
About Tokyo Tyrant
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 9
• Tokyo Tyrant is network interface of Tokyo Cabinet (key/value DB library)
– http://tokyocabinet.sourceforge.net/tyrantdoc/
Tokyo Tyrant (TT)
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 10
• Tokyo Cabinet (TC)というkey/value型DBMのネットワークインターフェース– Author:平林幹雄氏– http://tokyocabinet.sourceforge.net/tyrantdoc/
• mixiの「最終ログイン」などを管理(しているらしい)– ↑ユーザがアクセスするたびに更新されるという高負荷
• TCP/IP上からバイナリプロトコルで接続可能– memcachedのプロトコルにも対応– HTTP互換
Tokyo Tyrant (TT)
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 11
PHPからTokyo Tyrantを使いたい!
I want to use Tokyo Tyrant with PHP!
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 12
Tokyo Tyrant + PHP
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 13
Tokyo Tyrant + PHP
TT+PHPを実現するInterfaceやPHP Extensionは見つけているも
のだけで4つ–TT独自バイナリプロトコルを扱うもののみ
–memcached互換のものは今回は除く
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 14
Net_TokyoTyrant
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 15
Net_TokyoTyrant• Author
–個々一番氏(id:cocoiti)• feature
–PurePHPライブラリ–Openpearにてリポジトリ管理
• http://openpear.org/package/Net_TokyoTyrant
–PurePHPとして最適化されている–おそらく最も有名(だと思う)
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 16
インストールInstall
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 17
$sudo pear install openpear/Net_TokyoTyrant-beta
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 18
簡単Easy
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 19
php-tokyo_tyrant• Author
–Mikko Koppanen氏 (mkoppanen)• feature
–PHP Extension–PECLに登録されている
•PHP Manualもある–GitHubにてリポジトリ管理
• http://github.com/mkoppanen/php-tokyo_tyrant/tree/master
–最も活発に開発が進んでいる
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 20
インストールInstall
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 21
$sudo pecl install tokyo_tyrant-beta
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 22
簡単Easy
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 23
dbo_tokyo• Author
–Martin Samson氏 (masom)• feature
–Datasource for CakePHP thechawにてリポジトリ管理• http://thechaw.com/tokyotyrant_datasource
※#[email protected]:6667でid:cakephperさんに教えてもらいました
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 24
tokyotyrant_php• Author
–俺• feature
–tokyotyrant.rbに、できるだけ近づけた実装を目指している
–Net_TokyoTyrantを参考に作成•Fork?
–GitHubにてリポジトリ管理• http://github.com/k1LoW/tokyotyrant_php/tree/master
–最もβ、むしろα
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 25
Simple Benchmark
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 26
※参考程度に考えてください
It's very simple ^^;
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 27
PHPなのでhttp://でアクセスしてみたSimple HTTP Access Benchmark
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 28
•Apache•mod_php•DBM
Simple Benchmark
• 単純にApache Benchで計測してみた
ab –n 1000 – c 100
対象データ:sha1($i)をkey、$iをvalueとした1,000,000レコード
ランダムなkeyでクエリ発行
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 29
1アクセス1クエリ※Request/sec相対
1 access 1 query
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 30
1アクセス1クエリ
Net_TokyoTyrant
php-tokyo_tyrant
dbo_tokyo
tokyotyrant_php
MySQL plane html
※Request/sec相対
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 31
1アクセス100クエリ※Request/sec相対
1 access 100 query
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 32
1アクセス100クエリ
Net_TokyoTyrant
php-tokyo_tyrant
dbo_tokyo
tokyotyrant_php
MySQL plane html
※Request/sec相対
!
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 33
まとめ• Tokyo Tyrant + PHPの紹介をしま
した。• php-tokyo_tyrantが最も高速
– php-tokyo_tyrant = very fast
• PurePHPならNet_TokyoTyrant– Net_TokyoTyrant = Nice PurePHP library
• CakePHPならdbo_tokyo– dbo_tokyo = CakePHP use
• tokyotyrant_phpは…?