spymemcached和xmemcached的性能对比2011-06-16读写简单类型测试方法:开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竟然那么慢。