日期:2014-05-16  浏览次数:20529 次

Memcachedb_ 很好
编辑词条分享
新知社
新浪微博
人人网
腾讯微博
移动说客
网易微博
开心001
天涯

本词条由Valian创建,共有1位协作者编辑了1次。最新协作者:Valian。

请用一段简单的话描述该词条,马上添加摘要。
目录
1 基本结构
2 编译以及安装
3 性能测试
1 基本结构
2 编译以及安装
3 性能测试
为本词条添加视频和组图相关影像故名思义就是memcached+bdb,是基于memcachedSocket层和berkeley-db存储层结构的实现,是新浪互动社区技术团队2007年的一项重大的技术成果,现在应用于新浪互动社区多个产品线中,其中包括新浪博客等重头产品。通过该系统能够实现任意memcachedapi的调用、数据实时落地以及主辅实时备份等功能。

Memcachedb - 基本结构
Memcachedb是一款支持高并发的分布式持久存储系统,对任何原有memcached客户端来讲,它仍旧是个memcached,但是,它的数据是可以持久存储的。
  前端:memcached的网络层
  后端:BerkeleyDB存储

  写速度:从本地服务器通过memcache客户端(libmemcache)set2亿条16字节长的key,10字节长的Value的记录,耗时16572秒,平均速度12000条记录/秒。
  读速度:从本地服务器通过memcache客户端(libmemcache)get100万条16字节长的key,10字节长的Value的记录,耗时103秒,平均速度10000条记录/秒。

  ?支持的memcache命令
  get,set,add,replace
  incr,decr
  delete
  stats
  flush_all

  ?私有命令
  db_checkpoint,db_archive
  db_ismaster,db_whoismaster(forreplication)




Memcachedb














Memcachedb - 编译以及安装
1.先安装libevent:
#tarzxvflibevent-1.2.tar.gz
#cdlibevent-1.2
#./configure–prefix=/usr
#make
#makeinstall

2.测试libevent是否安装成功:
#ls-al/usr/lib|greplibevent
lrwxrwxrwx1rootroot2111??1217:38libevent-1.2.so.1->libevent-1.2.so.1.0.3
-rwxr-xr-x1rootroot26354611??1217:38libevent-1.2.so.1.0.3
-rw-r–r–1rootroot45415611??1217:38libevent.a
-rwxr-xr-x1rootroot81111??1217:38libevent.la
lrwxrwxrwx1rootroot2111??1217:38libevent.so->libevent-1.2.so.1.0.3
还不错,都安装上了。

3.安装BerkeleyDb
tar-zxvfdb-4.6.19.tar.gz
#需要进入特定操作系统编译环境,更常规软件的编译有些区别
cddb-4.6.19/build_unix/
#然后才能够开始编译
../dist/configure
make&&makeinstall
#如果没有指定特殊安装路径,编译完成,需要将BerkeleyDb运行库的路径添加到系统配置里面
echo"/usr/local/BerkeleyDB.4.6/lib/">>/etc/ld.so.conf
#重载系统Ld运行库
ldconfig

4.安装memcachedb,同时需要安装中指定libevent的安装位置:
#cd/tmp
#tar-zxvfmemcachedb-1.0.3.tar.gz
#cdmemcachedb-1.0.3
#./configure–with-libevent=/usr
#make
#makeinstall
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcachedb放到/usr/local/bin/memcachedb,

5.测试是否成功安装memcachedb:
#ls-al/usr/local/bin/mem*
-rwxr-xr-x1rootroot13798611??1217:39/usr/local/bin/memcachedb
6.启动memcachedb
memcachedb-p11212-d-r-uroot-l192.168.50.117-H/data/mdb_11212-N-P/tmp/memcachedb.pid
7.如查报BerkeleyDb的文件找不到的可以加上下面这句话
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/BerkeleyDB.4.6/lib

Memcachedb - 性能测试
1.环境
OS:Linux,Ubuntu7.0464-bit
Memory:4G
CPU:Intel(R)Pentium(R)DCPU2.66GHz
SCSIDISK,ext3filesystem

libevent1.3e
Memcached1.2.4
BerkeleyDB4.6.21
Java1.6.0
memcachedb0.1.1安装方法http://blog.csdn.net/simonlsy/

2.测试方法
client/server在同一机上,使用ethernetinterface连接,不是localhost
本Linux同时在作ADSLroutegateway,可能会对测试造成小量影响。

JAVACLIENT,使用3线程
Key:数字,1~100万
数据:100字节字符串


3.测试结果
Memcached写速度
平均速度:16222次/秒
最大速度18799次/秒

Memcached读速度
平均速度:20971次/秒
最大速度22497次/秒

Memcachedb写速度
平均速度:8958次/秒
最大速度10480次/秒

Memcachedb读速度
平均速度:6871次/秒
最大速度12542次/秒

由于硬件环境,网络环境,线程数,编程语言不同,可能测试结果差别也很大,本测试结果只起相对参考作用。即比较memcached/memcachedb在相同环境下的性能区别。