Java Memcached Client Benchmark

简介:
  Xmemcached 1.2.6.1 released,所以更新了一下 Java Memcached Client Benchmark。对比下 Xmemached, SpymemcachedJava-Memcached-Client这三个开源客户端的性能,具体的测试信息可以看这个 链接

    测试源码
svn co http: // xmemcached.googlecode.com/svn/trunk/benchmark/
    测试结果:
svn co http: // xmemcached.googlecode.com/svn/trunk/benchmark/result

    总结下测试结果,为还在选择和考察 java memcached client的朋友提供参考:

1、 Java-Memcached-Client 2.5.1这个版本果然有很大改进,性能上有非常大的提升,从测试结果来看在小于100并发下有非常明显的优势,同时耗费资源也相对较多。但是在300并发访问下,Java-Memcached-Client会不断地报错:
com.schooner.MemCached.SchoonerSockIOPool Sun Oct  17   11 : 09 : 05  GMT + 08 : 00   2010   -   ++++  failed to get SockIO obj  for 10.232 . 36.82 : 12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.82:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.90:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.82:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.90:12000
com.schooner.MemCached.SchoonerSockIOPool Sun Oct 17 11:09:05 GMT+08:00 2010 - ++++ failed to get SockIO obj for: 10.232.36.82:12000


 并且无法正常地存取数据, 而xmc和spy却可以正常应对这一场景。因此可以看到在300并发下,Java-Memcached-Client测试的结果直接为0,因为测试无法完成。尽管我尝试将最大连接数调到2000,仍然是无法完成测试。

2、Xmemcached无论在低并发还是高并发访问的情况下,都可以保持一个比较优秀的性能表现,从xmc和spy的对比来看,xmc的优势相当大。

3、从用户选择角度来说,如果你的应用对memached的访问负载并不高,Java-Memcached-Client是一个不错的选择,但是在高峰访问的时候可能命中率会有个急剧的波动;如果你的应用访问memached的负载较高,此时我推荐你选择xmemcached;如果你需要异步的批量处理(future模式),可以选择spymemcached;如果你不知道你的应用是什么状况,我推荐你用xmemcached,可以在任何情况下获得一个比较好的性能表现

文章转自庄周梦蝶  ,原文发布时间2010-10-17

目录
相关文章
|
10月前
|
存储 分布式计算 安全
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)(一)
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)
357 0
|
7月前
|
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
154 0
|
1天前
|
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
119 0
|
1天前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
61 0
|
8月前
|
Java API 数据安全/隐私保护
Elasticsearch Java API Client 开发
本场景主要介绍如何使用 Elasticsearch Java API Client 进行开发,实现常用的 CRUD 操作。
148 0
|
10月前
|
Java 存储 Linux
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)(三)
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)
120 0
|
10月前
|
存储 算法 网络协议
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)(二)
分布式文件系统介绍与minio介绍与使用(附minio java client 使用)
501 0
|
分布式计算 Java Hadoop
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
flink hadoop 从0~1分布式计算与大数据项目实战(4)zookeeper内部原理流程简介以及java curator client操作集群注册,读取
|
负载均衡 安全 Java
基于ES 7.x 客户端:Java High Level Rest clients及Transport Client 兼容性、性能对比、使用方法
基于ES 7.x 客户端:Java High Level Rest clients及Transport Client 兼容性、性能对比、使用方法
基于ES 7.x 客户端:Java High Level Rest clients及Transport Client 兼容性、性能对比、使用方法
Java--SpringCloud-3-Netflix-3-Eureka Client
接着上篇,搭建一个eureka client项目来注册到eureka server。
60 0
Java--SpringCloud-3-Netflix-3-Eureka Client