Posted on 2009-03-04 19:09
dennis 阅读(5084)
评论(1) 编辑 收藏 所属分类:
java 、
my open-source
读写简单类型
测试方法:开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竟然那么慢。
测试所用类
下载
xmemcached发布
0.50版本,欢迎更多测试和建议,邮箱 killme2008@gmail.com