读写简单类型
测试方法:开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竟然那么慢。
本文配套源码
涉水而过的声音此次想起,