论坛首页 Java企业应用论坛

开发了一个高性能memcached java client

浏览 24091 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-10-20  
用mina开发了一个memcached java client ,性能测试表现良好, 用我的t61做客户端测试,最高能到28000tps。
代码在:http://commons-client.googlecode.com/svn/trunk/,有兴趣的朋友可以看看。我准备把这个项目开源,后面还有不少优化余地,有兴趣的朋友请和我联系,呵呵。


前提条件
1 jdk1.6
2 安装maven
3 安装ant

编译: ant
运行测试程序:  ant run -Dip=....  -Dthread=100 -Drepeat=10000 -Dsize=2
ip: memcached server ip
thread : 测试线程数
repeat : 每个线程循环此处,每次10000次,每次有两个memcache调用
size:  连接数
可以在命令行中输入参数,也可以修改build.properties中的默认参数


正在写文档,以后慢慢补上。

BTW, 有兴趣可以看看我blog的相关文档,http://uniseraph.iteye.com
   发表时间:2008-10-20  
补充一句:
我的t61装的是ubuntu8.04,没在windows测过。
0 请登录后投票
   发表时间:2008-10-20  
请教一下楼主:不知道你有没有用过spymemcached(http://code.google.com/p/spymemcached/)或whalin的memcached client for java(http://whalin.com/memcached/)?你的客户端与这两个相比有哪些创新的地方,能否介绍一下?

此外提两个小建议,不知可否改进一下:使用JDK 6这个要求有点苛刻吧?还有既要用maven,又要用ant似乎也有点累赘了......
0 请登录后投票
   发表时间:2008-10-21  
官方的memcached java client我用过,采用的是连接池+堵塞的方式,性能比较差。之前我测试大约在8000tps,我的memcached java client采用的是nio的方式,只需要两个连接,就能到达25000tps。回头我会补上文档,解释一下我的实现。

jdk1.6不是必须的,回头我把@Override删掉,用jdk1.5应该也没什么问题。

至于既用maven又用ant是因为我觉得maven麻烦了一点,ant用起了比较简单,但是又希望使用maven的第三库管理功能,所以就成现在这样。

其实就编译而言,只用maven是可以的。
0 请登录后投票
   发表时间:2008-10-21  
开源吗?开源的话我想看看
0 请登录后投票
   发表时间:2008-10-21  
干得漂亮,等稳定了我就用
0 请登录后投票
   发表时间:2008-10-21  
可以用ivy管理依赖的包.
0 请登录后投票
   发表时间:2008-10-21  
chbest 写道

开源吗?开源的话我想看看


欢迎欢迎,呵呵。

已经放到http://commons-client.googlecode.com/svn/trunk/,如果访问有问题請和我联系。
0 请登录后投票
   发表时间:2008-10-21  
gmark 写道

可以用ivy管理依赖的包.

多谢,我先研究一下。
0 请登录后投票
   发表时间:2008-10-21  
补充下lib嘛。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics