Posted on 2009-06-07 23:37
dennis 閱讀(2013)
評論(0) 編輯 收藏 所屬分類:
java 、
my open-source
趁周末,做了一個java memcached client的性能benchmark,比較了4個開源的client: spymemcachehd,xmemcached,java-MemCached和岑文初的asf-cached。這個測試可能不是那么準確,為了保證命中率,無法測試更多并發下的表現,以后再測試多個memcached server下的表現可能更有價值。詳細的測試報告在這里
http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html,包括了測試場景、結果、軟硬件情況說明等等。從測試分析產生的報表來看,在低并發下,基于傳統的阻塞io的clients表現還可以,經過岑文初優化的版本超過了原始的java-MemCached。而在并發相對高一點的情況下,基于nio的spymemcached和xmemcached都超過了傳統clients,不過這個差距隨著value大小的增大而減小。另外,xmemcached在value比較?。ㄐ∮?K左右)的性能高于spymemcached,而在更大value的情況下卻是比不上spymemcached,不過這個差距隨著并發增大而減小。更多信息請自己查看報告,checkout源碼來分析。
xmemcached正式發布1.1.1,這個版本可以說是更強壯,更穩定的版本,也是支持二進制協議前的過渡版本。主要的改進如下:
1、yanf4j從0.60升級到0.61,因此使用的時候請替換這個jar包。
2、更多的單元測試,單元測試覆蓋率達到63%,并覆蓋了絕大多數關鍵代碼。
3、進行了24小時壓測,觀察內存使用情況等,未發現有內存泄漏的隱患。
4、最重要的重構,將原來基于switch語句的協議解析部分修改為了更為OO的Command繼承體系,盡管因為多態調用帶來一點性能損失,然而整體結構更加合理,并易于添加新的協議支持和擴展(比如binary協議)。性能將會持續在后續版本進行改進。
5、修復BUG和添加新特性,并deprecated部分方法和類,具體信息參考Changelog
項目首頁:
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/