Java Memcached Client的Benchmark——xmemcached发布1.1.1

简介:

  趁周末,做了一个java memcached client的性能benchmark,比较了4个开源的client: spymemcachehd,xmemcached,java-MemCached和岑文初的asf-cached。这个测试可能不是那么准确,为了保证命中率,无法测试更多并发下的表现,以后再测试多个memcached server下的表现可能更有价值。详细的测试报告在这里 http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html,包括了测试场景、结果、软硬件情况说明等等。从测试分析产生的报表来看,在低并发下,基于传统的阻塞io的clients表现还可以,经过岑文初优化的版本超过了原始的java-MemCached。而在并发相对高一点的情况下,基于nio的spymemcached和xmemcached都超过了传统clients,不过这个差距随着value大小的增大而减小。另外,xmemcached在value比较小(小于1K左右)的性能高于spymemcached,而在更大value的情况下却是比不上spymemcached,不过这个差距随着并发增大而减小。更多信息请自己查看报告,checkout源码来分析。

    xmemcached正式发布1.1.1,这个版本可以说是更强壮,更稳定的版本,也是支持二进制协议前的过渡版本。主要的改进如下:

1、yanf4j从0.60升级到0.61,因此使用的时候请替换这个jar包。
2、更多的单元测试,单元测试覆盖率达到63%,并覆盖了绝大多数关键代码。
3、进行了24小时压测,观察内存使用情况等,未发现有内存泄漏的隐患。
4、最重要的重构,将原来基于switch语句的协议解析部分修改为了更为OO的Command继承体系,尽管因为多态调用带来一点性能损失,然而整体结构更加合理,并易于添加新的协议支持和扩展(比如binary协议)。性能将会持续在后续版本进行改进。
5、修复BUG和添加新特性,并deprecated部分方法和类,具体信息参考Changelog


   项目首页:    http://code.google.com/p/xmemcached/
   javadoc文档: http://xmemcached.googlecode.com/svn/trunk/apidocs/index.html
   下载地址:     http://code.google.com/p/xmemcached/downloads/list
   wiki地址:     http://code.google.com/p/xmemcached/w/list
   svn地址:     http://xmemcached.googlecode.com/svn/trunk/

文章转自庄周梦蝶  ,原文发布时间2009-06-07

目录
相关文章
|
存储 分布式计算 安全
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)(一)
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)
498 0
|
1月前
|
Java
用java实现Client和Server之间的互相通信
本文介绍了如何使用Java实现客户端和服务器之间的通信,包括服务器端创建ServerSocket、接受客户端连接、读取和发送消息,以及客户端创建Socket连接、发送和接收消息的完整过程。
32 0
用java实现Client和Server之间的互相通信
|
2月前
|
Java API Nacos
Caused by: java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forge
Caused by: java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forge
130 2
|
Java 微服务
【Java异常】com.netflix.client.ClientException: Load balancer does not have available server for client
【Java异常】com.netflix.client.ClientException: Load balancer does not have available server for client
464 0
|
6月前
|
负载均衡 Java 微服务
Java错误:com.netflix.client.ClientException: Load balancer does not have available server for client
Java错误:com.netflix.client.ClientException: Load balancer does not have available server for client
|
6月前
|
SQL Java 数据库连接
Could not open client transport with JDBC Uri: jdbc:hive2://192.168.88.10:10000: java.net.ConnectExc
Could not open client transport with JDBC Uri: jdbc:hive2://192.168.88.10:10000: java.net.ConnectExc
333 0
|
6月前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
111 0
|
Java API 数据安全/隐私保护
Elasticsearch Java API Client 开发
本场景主要介绍如何使用 Elasticsearch Java API Client 进行开发,实现常用的 CRUD 操作。
|
Java 存储 Linux
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)(三)
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)
200 0
|
存储 算法 网络协议
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)(二)
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)
594 0
下一篇
无影云桌面