Posted on 2009-05-09 15:42
dennis 閱讀(1393)
評論(2) 編輯 收藏 所屬分類:
java 、
my open-source
在某用戶(可能是唯一用戶)的反饋和建議下,xmemcached做了不少改進和修正,特此感謝。
XMemcached發布1.10-RC3,這可能是1.10 release前最后一個RC版本,此版本的主要改進:
1、引入XMemcachedClientMBean接口,添加一個新的MBean,主要功能是允許通過JMX
動態添加或者移除memcached server。如圖:
除了通過JMX之外,也可以通過編程來動態添加或者移除memcachd server節點。例如:
XMemcachedClient client
//添加server
client.addServer("192.168.111.222:11211 192.168.111.221:11211");
//移除
client.removeServer("192.168.111.222:11211 192.168.111.221:11211");
2、引入新的cas重載方法,允許用戶自主傳入GetsResponse(gets協議的返回結果),而不需要xmemcached去自動獲取首次gets結果。
<T> boolean
cas(java.lang.String key, GetsResponse<T> getsReponse, CASOperation<T> operation)
<T> boolean
cas(java.lang.String key, GetsResponse<T> getsReponse, CASOperation<T> operation)
3、重構和修改bug等,重命名transcoder包防止與spymemcached沖突,更多單元測試和相應重構。
4、附帶最新的測試結果
測試環境:
服務端:memcached server跑在4核,4G內存的linux機器上,linux內核是2.6.9-55。 memcached啟動參數:memcached -p 12000 -m 2048 -d
客戶端:跑在8核,16G內存的linux機器上,內核是2.6.9-67。xmemcached版本是1.10-RC3,spymemcached的版本是2.3.1,兩者都是默認配置。
測試用例: key和value都是100個字節的字符串,啟動N個線程并發地操作同一個memcached client,進行set、get、delete操作,各操作總次數均在100萬次以上,最后統計TPS。
具體結果請看下面
結果說明:
圖片采用jfreechart生成,spymemcached在100個并發及以上,get操作無法設置超時時間導致拋出很多超時異常,因此無法給出有價值的數據。
下載地址在
這里