Java Memcached Client的Benchmark——xmemcached發(fā)布1.1.1
Posted on 2009-06-07 23:37 dennis 閱讀(2015) 評(píng)論(0) 編輯 收藏 所屬分類: java 、my open-source 趁周末,做了一個(gè)java memcached client的性能benchmark,比較了4個(gè)開(kāi)源的client: spymemcachehd,xmemcached,java-MemCached和岑文初的asf-cached。這個(gè)測(cè)試可能不是那么準(zhǔn)確,為了保證命中率,無(wú)法測(cè)試更多并發(fā)下的表現(xiàn),以后再測(cè)試多個(gè)memcached server下的表現(xiàn)可能更有價(jià)值。詳細(xì)的測(cè)試報(bào)告在這里 http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html,包括了測(cè)試場(chǎng)景、結(jié)果、軟硬件情況說(shuō)明等等。從測(cè)試分析產(chǎn)生的報(bào)表來(lái)看,在低并發(fā)下,基于傳統(tǒng)的阻塞io的clients表現(xiàn)還可以,經(jīng)過(guò)岑文初優(yōu)化的版本超過(guò)了原始的java-MemCached。而在并發(fā)相對(duì)高一點(diǎn)的情況下,基于nio的spymemcached和xmemcached都超過(guò)了傳統(tǒng)clients,不過(guò)這個(gè)差距隨著value大小的增大而減小。另外,xmemcached在value比較小(小于1K左右)的性能高于spymemcached,而在更大value的情況下卻是比不上spymemcached,不過(guò)這個(gè)差距隨著并發(fā)增大而減小。更多信息請(qǐng)自己查看報(bào)告,checkout源碼來(lái)分析。
xmemcached正式發(fā)布1.1.1,這個(gè)版本可以說(shuō)是更強(qiáng)壯,更穩(wěn)定的版本,也是支持二進(jìn)制協(xié)議前的過(guò)渡版本。主要的改進(jìn)如下:
1、yanf4j從0.60升級(jí)到0.61,因此使用的時(shí)候請(qǐng)?zhí)鎿Q這個(gè)jar包。
2、更多的單元測(cè)試,單元測(cè)試覆蓋率達(dá)到63%,并覆蓋了絕大多數(shù)關(guān)鍵代碼。
3、進(jìn)行了24小時(shí)壓測(cè),觀察內(nèi)存使用情況等,未發(fā)現(xiàn)有內(nèi)存泄漏的隱患。
4、最重要的重構(gòu),將原來(lái)基于switch語(yǔ)句的協(xié)議解析部分修改為了更為OO的Command繼承體系,盡管因?yàn)槎鄳B(tài)調(diào)用帶來(lái)一點(diǎn)性能損失,然而整體結(jié)構(gòu)更加合理,并易于添加新的協(xié)議支持和擴(kuò)展(比如binary協(xié)議)。性能將會(huì)持續(xù)在后續(xù)版本進(jìn)行改進(jìn)。
5、修復(fù)BUG和添加新特性,并deprecated部分方法和類,具體信息參考Changelog
項(xiàng)目首頁(yè): http://code.google.com/p/xmemcached/
javadoc文檔: http://xmemcached.googlecode.com/svn/trunk/apidocs/index.html
下載地址: http://code.google.com/p/xmemcached/downloads/list
wiki地址: http://code.google.com/p/xmemcached/w/list
svn地址: http://xmemcached.googlecode.com/svn/trunk/
xmemcached正式發(fā)布1.1.1,這個(gè)版本可以說(shuō)是更強(qiáng)壯,更穩(wěn)定的版本,也是支持二進(jìn)制協(xié)議前的過(guò)渡版本。主要的改進(jìn)如下:
1、yanf4j從0.60升級(jí)到0.61,因此使用的時(shí)候請(qǐng)?zhí)鎿Q這個(gè)jar包。
2、更多的單元測(cè)試,單元測(cè)試覆蓋率達(dá)到63%,并覆蓋了絕大多數(shù)關(guān)鍵代碼。
3、進(jìn)行了24小時(shí)壓測(cè),觀察內(nèi)存使用情況等,未發(fā)現(xiàn)有內(nèi)存泄漏的隱患。
4、最重要的重構(gòu),將原來(lái)基于switch語(yǔ)句的協(xié)議解析部分修改為了更為OO的Command繼承體系,盡管因?yàn)槎鄳B(tài)調(diào)用帶來(lái)一點(diǎn)性能損失,然而整體結(jié)構(gòu)更加合理,并易于添加新的協(xié)議支持和擴(kuò)展(比如binary協(xié)議)。性能將會(huì)持續(xù)在后續(xù)版本進(jìn)行改進(jìn)。
5、修復(fù)BUG和添加新特性,并deprecated部分方法和類,具體信息參考Changelog
項(xiàng)目首頁(yè): http://code.google.com/p/xmemcached/
javadoc文檔: http://xmemcached.googlecode.com/svn/trunk/apidocs/index.html
下載地址: http://code.google.com/p/xmemcached/downloads/list
wiki地址: http://code.google.com/p/xmemcached/w/list
svn地址: http://xmemcached.googlecode.com/svn/trunk/