讀寫簡單類型
測試方法:開N個線程 ,每個線程set(或者get、delete) 10000次,表格如下(數據為tps,僅供參考)
線程數 spymemcached xmemcached set get delete set get delete 1 2870 2922 3018 2237 2352 2500 10 11015 11227 11449 8579 10440 8354 50 19838 20685 22727 13239 24113 14382 100 25427 22646 26700 18068 29046 18259
結論:顯然在簡單類型的讀寫上,spymemcached全面占優,xmemcached唯一的亮點在於高並發下get的效率超過了spymemcached。對於連續的get操作,xmemcached將合並成一個批量的get操作提交,從而提高效率。
讀寫100個元素的map,map的value是個自定義類,啟動N個線程,每個線程set(或者get、delete) 100次,表格如下
線程數 spymemcached xmemcached set get set get 1 492 492 427 492 10 159 680 1103 1122 50 57 1103 1561 1226 100 71 1308 1530 1223
結論:在復雜對象的讀寫上,xmemcached全面占優。兩者的CPU和內存占用差不多,肉眼觀察做不得准。比較奇怪的是spymemcached的set竟然那麼慢。
本文配套源碼