Más contenido relacionado Similar a Tokyo Tyrant + PHP (20) Tokyo Tyrant + PHP2. Agenda
• About Me
• About Tokyo Tyrant
• Tokyo Tyrant + PHP
• Simple Benchmark
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 2
4. About Me
• 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
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 4
5. PHPといえば*AMP
PHP = *AMP?
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 5
6. PostgreSQL
ちなみに私はLAPPが好きです
I like LAPP
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 6
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. 7
9. Tokyo Tyrant (TT)
• Tokyo Tyrant is network interface of Tokyo
Cabinet (key/value DB library)
– http://tokyocabinet.sourceforge.net/tyrantdoc/
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 9
10. Tokyo Tyrant (TT)
• Tokyo Cabinet (TC)というkey/value型DBMの
ネットワークインターフェース
– Author:平林幹雄氏
– http://tokyocabinet.sourceforge.net/tyrantdoc/
• mixiの「最終ログイン」などを管理(しているらしい)
– ↑ユーザがアクセスするたびに更新されるという高負荷
• TCP/IP上からバイナリプロトコルで接続可能
– memcachedのプロトコルにも対応
– HTTP互換
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 10
11. PHPからTokyo Tyrantを使いたい!
I want to use Tokyo Tyrant with PHP!
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 11
12. Tokyo Tyrant + PHP
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 12
13. Tokyo Tyrant + PHP
TT+PHPを実現するInterfaceや
PHP Extensionは見つけているも
のだけで4つ
–TT独自バイナリプロトコルを扱うもの
のみ
–memcached互換のものは今回は除く
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 13
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. 15
16. インストール
Install
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 16
17. $sudo pear install openpear/Net_TokyoTyrant-beta
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 17
18. 簡単
Easy
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 18
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. 19
20. インストール
Install
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 20
21. $sudo pecl install tokyo_tyrant-beta
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 21
22. 簡単
Easy
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 22
23. dbo_tokyo
• Author
–Martin Samson氏 (masom)
• feature
–Datasource for CakePHP
thechawにてリポジトリ管理
• http://thechaw.com/tokyotyrant_datasource
※#cakephp@irc.codecheck.in:6667で
id:cakephperさんに教えてもらいました
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 23
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. 24
26. ※参考程度に考えてください
It's very simple ^^;
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 26
27. PHPなのでhttp://で
アクセスしてみた
Simple HTTP Access Benchmark
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 27
28. Simple Benchmark
• 単純にApache Benchで計測して
みた ランダムなkeyで
クエリ発行
ab –n 1000 – c 100
•Apache
対象データ:
sha1($i)をkey、$iをvalueとした •mod_php
1,000,000レコード
•DBM
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 28
29. 1アクセス1クエリ
※Request/sec相対
1 access 1 query
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 29
30. 1アクセス1クエリ
Net_TokyoTyrant dbo_tokyo MySQL plane html
php-tokyo_tyrant tokyotyrant_php
※Request/sec相対
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 30
31. 1アクセス100クエリ
※Request/sec相対
1 access 100 query
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 31
32. 1アクセス100クエリ
!
Net_TokyoTyrant dbo_tokyo MySQL plane html
php-tokyo_tyrant tokyotyrant_php
※Request/sec相対
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 32
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は…?
PHP Conference Japan 2009 LT Copyright Fusic Co.,Ltd. 33