[转载]转Java 几个memcached 连接客户端对比 选择
2015-05-25 06:59
686 查看
原文地址:转Java 几个memcached 连接客户端对比 选择作者:闪出光芒
Xmemcached 1.2.6.1 released,所以更新了一下Java
Memcached Client Benchmark。对比下Xmemached,Spymemcached和Java-Memcached-Client这三个开源客户端的性能,具体的测试信息可以看这个链接。
测试源码:
Java代码
svn co http://xmemcached.googlecode.com/svn/trunk/benchmark/
测试结果:
Java代码
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会不断地报错:
Java代码
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,可以在任何情况下获得一个比较好的性能表现。
Xmemcached 1.2.6.1 released,所以更新了一下Java
Memcached Client Benchmark。对比下Xmemached,Spymemcached和Java-Memcached-Client这三个开源客户端的性能,具体的测试信息可以看这个链接。
测试源码:
Java代码
svn co http://xmemcached.googlecode.com/svn/trunk/benchmark/
测试结果:
Java代码
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会不断地报错:
Java代码
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,可以在任何情况下获得一个比较好的性能表现。
相关文章推荐
- [转载]转Java 几个memcached 连接客户端对比 选择
- Memcache的三种Java客户端的对比和选择
- Memcache的三种Java客户端的对比和选择
- MemCached的安装和JAVA客户端连接Memcached示例代码
- Java 客户端连接 Memcached & Spring 集成
- java连接memcached,并对比从数据库中查询数据与从memcached查询的性能
- Memcached - 几款java客户端对比
- java连接memcached,并对比从数据库中查询数据与从memcached查询的性能
- Linux下的Memcached安装与JAVA客户端连接Memcached
- Java客户端连接不上Linux下的Redis数据库
- memcached java客户端实例
- JAVA NIO写服务端判断客户端断开连接的方法
- 实例讲解分布式缓存软件Memcached的Java客户端使用
- java客户端与服务器连接并发送数据
- 转: memcached Java客户端spymemcached的一致性Hash算法
- Java的Memcached客户端
- java网络编程----------Socket实现客户端和服务器的连接
- 通过java客户端连接hbase 注意事项
- 005,使用Java客户端连接RabbitMQ,构造我们的第一个Publish和Consumer应用
- 通过java客户端连接hbase 注意事项