pg-poolⅡのmysql版
は無いものか?(特にqueryのキャッシュ目的)と探していた所
mysql-proxy-cache
なるものを発見しました。
ubuntu1204で、動かしてみましたので、そのメモを
まずは、動作に必要なパッケージを導入します。
パッケージが見つかるものはaptで、えいえいっ!っと
1
2
3
4
5
| sudo aptitude install mysql-proxy
sudo aptitude install memcached
sudo aptitude install luarocks
sudo aptitude install liblua5.1-md5-0
sudo aptitude install luasocket
|
見つからないものは、debのパッケージがあったのでそちらを
debパッケージをxwindowsからダブルクリック!(いいのか!)
mysql-proxy-cache.lua はmysql-proxyのluaファイル置き場に配置しました。
1
2
| wget https://luamemcached.googlecode.com/files/liblua5.1-memcached0.deb
wget https://raw.github.com/clofresh/mysql-proxy-cache/master/mysql-proxy-cache.lua
|
それでは、満を持して。。。と、起動すると
1
| mysql-proxy --proxy-lua-script=mysql-proxy-cache.lua
|
起動しません。何かが足りないようです。
webサーフィンをして、今は以下のように記述する必要がある事が解りました。
1
| mysql-proxy --plugins=proxy --proxy-backend-addresses=localhost:3306
|
この段階で、proxy指定でmysqlに接続可能です。
しかしクラ○ン。無駄作業ではないぞ。・・・と、
mysql-proxy-cacheを指定して起動すると
どうやら、パッケージが見つからないようです。
参考にさせて頂いたluaの技術情報サイト
の情報を元に、環境変数でパッケージの場所を教えます。
そして、以下のような起動スクリプトを書くことで、ようやく起動しました!
起動スクリプト - start-mysql-proxy-cache.bash
1
2
3
4
5
6
7
8
| #!/bin/bash
export LUA_PATH="./?.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;/usr/local/lib/lua/5.1/?.lua;/usr/local/lib/lua/5.1/?/init.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua"
export LUA_CPATH="./?.so;/usr/local/lib/lua/5.1/?.so;/usr/lib/i386-linux-gnu/lua/5.1/?.so;/usr/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so"
mysql-proxy \
--plugins=proxy \
--proxy-backend-addresses=localhost:3306 \
--proxy-lua-script=/usr/lib/mysql-proxy/lua/mysql-proxy-cache.lua \
--log-level=debug
|
キャッシングされたQueryは当然超高速です。
ワーイ♪ゝ(▽`ゝ)(ノ´▽)ノワーイ♪