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。很希望有更多的测试报告,毕竟我的测试可能还是不够客观。
文章转自庄周梦蝶 ,原文发布时间
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的