xmemcached发布1.10 RC1 (附最新测试报告,update)

update:紧急修复一个严重的bug,影响多节点memcached下的余数哈希分布。jmx监控正式启用。更多单元测试。

    XMemcached是一个基于java nio的memcached客户端。最新发布1.10-RC1版本,这个版本其实早就完成,一直没有环境来测试,本机测试没有多大价值。今天做了一个初步测试,在效率上已经超越了spymemcached最新的2.3.1版本,具体的测试数据请看下面,下载地址这里,更新了wiki

   1.10-RC1的主要改进:
1、性能优化,具体请参见wiki,在测试中已经超越了spymemcached最新的2.3.1版本
2、重构,引入Optimiezer、XMemcachedClientBuilder等类,并引入泛型方法,使API接口更趋实用性和便捷性。1.10rc1将不兼容1.0版本,具体API请参见javadoc。可以保证的是在1.10稳定后,xmemcached在API接口不会再有大的变动。
3、引入maven做项目构建,原来的ant构建仍然可用。
4、bug修复,具体参见issues报告,更多测试提高健壮性。
5、引入jmx监控,可以通过java -Dxmemcached.jmx.enable=true来启用jmx监控,jmx功能可以统计xmemcached的各种操作次数,以及优化参数调整等,更多信息请参考javadoc和wiki

   后续计划:
1.10版本的正式发布
1.11版本的开发工作,引入JMX监控。

    今天给出的是memcached存储java原生类型的效率测试,key和value都是字符串,memcached单节点跑在局域网内的服务器上,spymemcached使用的是2.3.1版本,xmemcached使用的是1.10-RC1,两者都是默认配置。具体图表请看下面及相应说明。
    首先是在我本机windows xp环境(因为主要看对比,机器环境不再具体说明),连接memcached服务器所做的测试,下面是xmemcached和spymemcached的set操作效率对比,纵坐标为TPS,横坐标为线程并发数(下同)。

    显然,两者的set操作效率在windows下极为接近。接下来是get操作的对比直方图:


   
    XMemcached在get操作上保持传统优势,并发越大,优势越明显。在测试了windows下两个客户端的表现,继续做linux下的测试数据,因为所用的机器是一台8核的牛机,因此TPS非常惊人。首先是set操作的对比:
    

    不用多说,xmemcached全面占优。再看get操作的对比:

    一个奇特的现象是在200线程并发的时候,spymemcached反而超过了xmemcached,这一现象反复测试还是如此。其他并发下,xmemcached全面占优,在达到500并发时,spymemcached的get很多超时,因此数据作废,而xmemcached由于可以设置get的操作的超时时间更长,因此仍然正常运行。
    从以上测试可以看出,1.10-RC1版本的XMemcached存储原生类型已经在windows和linux平台上的效率都超过了spymemcached。对于自定义对象和容器对象的存储测试也证明xmemcached的效率已经全面超越了spymemcached。很希望有更多的测试报告,毕竟我的测试可能还是不够客观。

文章转自庄周梦蝶  ,原文发布时间

时间: 2024-09-30 05:48:11

xmemcached发布1.10 RC1 (附最新测试报告,update)的相关文章

xmemcached发布1.10 RC2

xmemcached发布1.10 RC2,这一版本的主要改进如下: 1.修复1.10-RC1以来发现的bug 2.添加对flush_all协议的支持,XMemcachedClient.flushAll方法用以使memcached的缓存数据项失效,这一方法有系列重载方法  void     flushAll()           使cache中所有的数据项失效,如果是连接多个节点的memcached,那么所有的memcached中的数据项都将失效 void     flushAll(long t

xmemcached发布1.10 RC3(附最新测试结果)

在某用户(可能是唯一用户)的反馈和建议下,xmemcached做了不少改进和修正,特此感谢.     XMemcached发布1.10-RC3,这可能是1.10 release前最后一个RC版本,此版本的主要改进: 1.引入XMemcachedClientMBean接口,添加一个新的MBean,主要功能是允许通过JMX动态添加或者移除memcached server.如图: 除了通过JMX之外,也可以通过编程来动态添加或者移除memcachd server节点.例如: XMemcachedCli

xmemcached发布1.0-BETA版

xmemcached发布1.0-beta,从0.60直接到1.0-beta,主要改进如下:1.支持更多协议,在已有协议支持的基础上添加了append.prepend.gets.批量gets.cas协议的支持,具体请查看XMemcachedClient类的实例方法.重点是cas操作,下文将详细描述下. 2.memcached分布支持,支持连接多个memcached server,支持简单的余数分布和一致性哈希分布. 3.0.60版本以来的bug修复.    memcached 1.2.4之后开始支

xmemcached发布1.1.2 (权重、noreply、spring集成)

XMemcached发布1.1.2版本,这一版本仍然是1.1.0版本以来的改进版本,主要的改进如下: 1.支持设置memcached节点权重,权重高的负载相应比较大. 2.为部分协议添加noreply选项,memcached 1.2.5引入了noreply支持,部分文本协议(如存储,删除,incr/decr等)允许附加设置一个noreply,表示客户端不要求memcached应答.这一特性利于批量处理. 3.支持与spring框架的集成. 4.添加verbosity协议,这个协议用于让客户端设置

红帽发布OpenStack 10平台 旨在加速OpenStack云计算的普及

红帽(Red Hat)日前发布了双支持模式OpenStack10平台,旨在加速云计算的普及. 红帽一直致力于简化开源云的安装和运行开源云,来减少普通用户可能遇到的麻烦,红帽OpenStack10平台产品也同样在这方面上做出努力. 而且,由于红帽的合作和支持,OpenStack 10平台在构建上也作出了转变,以期能在与装有OpenStack的对手Linux发行版的竞争中保持优势. 记者了解到,OpenStack 10平台引入了两个支持选项(一年和三年选项),后者可以延长到五年. 红帽前一个选项的目

微软应当免费发布 Windows 10 的理由

微软刚刚公布了Windows 10.新版操作系统将用"动态磁贴"取代Metro UI,在PC.平板电脑和智能手机之间共享代码,将帮助微软在实现"一个Windows"愿景方面迈出一大步.据印度尼西亚新闻网站Detik.com报道称,Windows 8用户将可以免费升级至Windows 10.在Windows 10公布前,微软印度尼西亚总裁安德里亚斯?迪安托洛(Andreas Diantoro)就曾表示,Windows 8.1将"自动升级"到该公司最

RIM海因斯:推迟发布黑莓10意在整合

腾讯科技讯(坎贝)北京时间7月9日消息,在六月底公布一份非常糟糕的季度财报后,RIM首席执行官首席执行官索斯顿•海因斯(Thorsten Heins)正尝试改变有关这家黑莓手机生产商的讨论的基调.尽管该公司启动一项涉及裁员5000人的重组计划,海因斯及其高管团队仍然向媒体强调,虽然黑莓手机现在的前景暗淡,并且该公司的黑莓10智能手机要到明年初才能发布,但RIM的管理层仍然保持乐观.作为RIM开放态度的表现之一,海因斯同意解答加拿大<环球邮报>(The Globe and Mail)读者提交的问

iOS 10.1.1 越狱测试版发布,10.2 越狱正在路上

       越--狱--啦!  近日,网上惊现 iOS 10 -10.1.1 版本的越狱工具测试版,发布者并不是我们所熟知的盘古团队和太极团队,而是国外著名的越狱大神 Luca Todesco,之前有段时间他一直被盘古团队"压着打",这次可算扬眉吐气了-- 据雷锋网了解,目前越狱支持 iPhone 7.iPhone 7 Plus.iPhone 6s.iPhone 6s Plus.9.7 英寸 iPad Pro 和 12.9 英寸 iPad Pro, 工具发布者 Lucas 正在计划为

xmemcached发布1.3.6

    开源的memcached Java客户端--xmemcached发布1.3.6版本.     主要改进如下:  1.  为MemcachedClientBuilder添加两个新方法用于配置: public void setConnectTimeout(long connectTimeout);  public void setSanitizeKeys(boolean sanitizeKeys);   2.  用于hibernate的XmemcachedClientFactoryd添加了c