安装
- tokyocabinet-1.4.47.tar.gz(数据库)
- tokyotyrant-1.1.41.tar.gz(网络接口)
- tokyo_tyrant-0.6.0.tgz(PHP扩展)安装tokyocabinet
#tar -zxvf tokyocabinet-1.4.47.tar.gz #cd tokyocabinet-1.4.47 #./configure --prefix=/usr/local/tokyocabinet #make #make install
安装tokyotyrant
#tar -zxvf tokyotyrant-1.4.47.tar.gz #cd tokyotyrant-1.4.47 #./configure --prefix=/usr/local/tokyotyrant #make #make install
启动TT
#mkdir /var/ttserver-1978 #chmod -R 777 /var/ttserver-1978 #vi /usr/local/tokyotyrant/sbin/ttservctl === // 修改部分 basedir="/var/ttserver" -> basedir="/var/ttserver-1978" === #/usr/local/tokyotyrant/sbin/ttservctl start
安装tokyo_tyrant
#tar -zxvf tokyo_tyrant-0.6.0.tgz #cd tokyo_tyrant #/usr/local/php/bin/phpize #./configure --with-php-config=/usr/local/php/bin/php-config --with-tokyo-tyrant=/usr/local/tokyotyrant --with-tokyo-cabinet-dir=/usr/local/tokyocabinet #make #make install
需要配置php
#vi /usr/local/php/etc/php.ini // 添加如下 [totyr_tyrant] extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/tokyo_tyrant.so";
fastcgi方式安装php,重启php
#pkill -o php-fpm #/usr/local/php/sbin/php-fpm
tokyocabinet配置优化
选择数据库类型:TCHDB
- TCHDB的速度是最快的
- 服务器内存可以分配4G给TT,足够使用
配置如下
#vi /usr/local/tokyotyrant/sbin/ttservctl === // 修改部分 dbname="$basedir/casket.tch#bnum=1000000" ---> dbname="$basedir/casket.tch#bnum=20000000#xmsiz=4294967296" === #/usr/local/tokyotyrant/sbin/ttservctl stop #/usr/local/tokyotyrant/sbin/ttservctl start
注释:
bnum:TT算法下放在内存中记录总数
xmsize:分配给TT使用的内存,如果超过该内存,在该数据库类型下的TT性能将急剧下降,单位是B,不是K或者M哦
如果考虑到数据量特别大,可以尝试选择TCBDB,相比TCHDB,速度下降了了很多,同时对内存的需求也下降了很多
配置如下
#vi /usr/local/tokyotyrant/sbin/ttservctl === // 修改部分 dbname="$basedir/casket.tch#bnum=1000000" ---> dbname="$basedir/casket.tch#lmemb=1024#nmemb=2048#bnum=20000000" ===
具体的可以参照附件“dtcc_tc_tt_tcsql.pdf”,张宴写的,如果侵犯了作者的著作权,请第一时间告知,立刻删除
PHP连接tokyocabinet
如果全部安装成功,便可以调用php的tt接口
put($key, $value); $tt->get($key); $tt->out($key); $tt->vanish(); $num = $tt->num(); ***************************************************/
修改Linux内核参数,发挥TT性能
1.主要是修改Linux的TCP连接数,可以是TT高并发的特点发挥出来
#sysctl -w net.ipv4.tcp_tw_reuse=1 #sysctl -w net.ipv4.tcp_tw_recycle=1 #sysctl -w net.ipv4.tcp_fin_timeout=10 #sysctl -w net.core.wmem_max=8388608 #sysctl -w net.core.rmem_max=8388608
注释:不需要重启Linux
附件
- tokyocabinet-1.4.47.tar.gz
- tokyotyrant-1.1.41.tar.gz
- tokyo_tyrant-0.6.0.tar.gz(由于iteye不允许上传tgz格式的文件,所以只好修改成tar.gz,下载后请修改回tokyo_tyrant-0.6.0.tgz)
- dtcc_tc_tt_tcsql.pdf(文件内容显示作者张宴,如果侵犯著作权,请第一时间告知,立刻删除)