Posted on 2010-10-17 13:44
dennis 閱讀(4202)
評論(0) 編輯 收藏 所屬分類:
java 、
my open-source
Xmemcached 1.2.6.1 released,所以更新了一下
Java Memcached Client Benchmark。對比下
Xmemached,
Spymemcached和
Java-Memcached-Client這三個開源客戶端的性能,具體的測試信息可以看這個
鏈接。
測試源碼
svn co http://xmemcached.googlecode.com/svn/trunk/benchmark/
測試結(jié)果:
svn co http://xmemcached.googlecode.com/svn/trunk/benchmark/result
總結(jié)下測試結(jié)果,為還在選擇和考察
java memcached client的朋友提供參考:
1、
Java-Memcached-Client 2.5.1這個版本果然有很大改進,性能上有非常大的提升,從測試結(jié)果來看在小于100并發(fā)下有非常明顯的優(yōu)勢,同時耗費資源也相對較多。但是在300并發(fā)訪問下,Java-Memcached-Client會不斷地報錯:
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.82:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.82:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.90:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.82:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.90:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.82:12000
并且無法正常地存取數(shù)據(jù), 而xmc和spy卻可以正常應(yīng)對這一場景。因此可以看到在300并發(fā)下,Java-Memcached-Client測試的結(jié)果直接為0,因為測試無法完成。盡管我嘗試將最大連接數(shù)調(diào)到2000,仍然是無法完成測試。
2、
Xmemcached無論在低并發(fā)還是高并發(fā)訪問的情況下,都可以保持一個比較優(yōu)秀的性能表現(xiàn),從xmc和spy的對比來看,xmc的優(yōu)勢相當(dāng)大。
3、
從用戶選擇角度來說,如果你的應(yīng)用對memached的訪問負(fù)載并不高,Java-Memcached-Client是一個不錯的選擇,但是在高峰訪問的時候可能命中率會有個急劇的波動;如果你的應(yīng)用訪問memached的負(fù)載較高,此時我推薦你選擇xmemcached;如果你需要異步的批量處理(future模式),可以選擇spymemcached;如果你不知道你的應(yīng)用是什么狀況,我推薦你用xmemcached,可以在任何情況下獲得一個比較好的性能表現(xiàn)。