在某用户(可能是唯一用户)的反馈和建议下,xmemcached做了不少改进和修正,特此感谢。
XMemcached发布1.10-RC3,这可能是1.10 release前最后一个RC版本,此版本的主要改进:
1、引入XMemcachedClientMBean接口,添加一个新的MBean,主要功能是允许通过JMX
动态添加或者移除memcached server。如图:
除了通过JMX之外,也可以通过编程来动态添加或者移除memcachd server节点。例如:
XMemcachedClient client
//
添加server
client.addServer(
"
192.168.111.222:11211 192.168.111.221:11211
"
);
//
移除
client.removeServer(
"
192.168.111.222:11211 192.168.111.221:11211
"
);
2、引入新的cas重载方法,允许用户自主传入GetsResponse(gets协议的返回结果),而不需要xmemcached去自动获取首次gets结果。
<
T
>
boolean
cas(java.lang.String key, GetsResponse
<
T
>
getsReponse, CASOperation
<
T
>
operation)
<
T
>
boolean
cas(java.lang.String key, GetsResponse
<
T
>
getsReponse, CASOperation
<
T
>
operation)
3、重构和修改bug等,重命名transcoder包防止与spymemcached冲突,更多单元测试和相应重构。 4、附带最新的测试结果 测试环境:服务端:memcached server跑在4核,4G内存的linux机器上,linux内核是2.6.9-55。 memcached启动参数:memcached -p 12000 -m 2048 -d客户端:跑在8核,16G内存的linux机器上,内核是2.6.9-67。xmemcached版本是1.10-RC3,spymemcached的版本是2.3.1,两者都是默认配置。测试用例: key和value都是100个字节的字符串,启动N个线程并发地操作同一个memcached client,进行set、get、delete操作,各操作总次数均在100万次以上,最后统计TPS。 具体结果请看下面 结果说明: 图片采用jfreechart生成,spymemcached在100个并发及以上,get操作无法设置超时时间导致抛出很多超时异常,因此无法给出有价值的数据。
文章转自庄周梦蝶 ,原文发布时间2009-05-09
相关资源:敏捷开发V1.0.pptx