Memcachedb

Memcachedb

Memcachedb所屬現代詞,指的是基於memcachedSocket層和berkeley-db存儲層結構的實現,是新浪互動社區技術團隊2007年的一項重大的技術成果。

故名思義就是memcached+BDB,是基於memcachedSocket層和berkeley-db存儲層結構的實現,是新浪互動社區技術團隊2007年的一項重大的技術成果,現在套用於新浪互動社區多個產品線中,其中包括新浪部落格等重頭產品。通過該系統能夠實現任意memcachedapi的調用、數據實時落地以及主輔實時備份等功能。

基本結構

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)

MemcachedbMemcachedb

編譯以及安裝

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

性能測試

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在相同環境下的性能區別。

相關詞條

相關搜尋

熱門詞條

聯絡我們