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。很希望有更多的测试报告,毕竟我的测试可能还是不够客观。

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

目录
相关文章
|
7月前
|
SQL 数据库
SQL 中的 NULL 值:定义、测试和处理空数据,以及 SQL UPDATE 语句的使用
NULL 值是指字段没有值的情况。如果表中的字段是可选的,那么可以插入新记录或更新记录而不向该字段添加值。此时,该字段将保存为 NULL 值。需要注意的是,NULL 值与零值或包含空格的字段不同。具有 NULL 值的字段是在记录创建期间留空的字段。
119 0
|
SQL 关系型数据库 测试技术
软件测试|教你如何使用UPDATE修改数据
软件测试|教你如何使用UPDATE修改数据
|
SQL 网络安全 Python
渗透测试之Update型注入学习笔记
版权声明:转载请注明出处:http://blog.csdn.net/dajitui2024 https://blog.csdn.net/dajitui2024/article/details/79396413 ...
1293 0
|
SQL 测试技术 数据库
SQL注入测试平台 SQLol -4.UPDATE注入测试
  访问首页的update模块http://127.0.0.1/sql/update.php,开始对update模块进行测试。 update语法: UPDATE 【users】 SET 【username】 = 【'haxotron9000'】 WHERE username = 【'1'】 接收的参数可能拼接到上述语句中【】的任一个位置,4个位置,共有5种不同的类型。
1248 0
|
17天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
52 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
67 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)