`
xiaoZ5919
  • 浏览: 400612 次
  • 性别: Icon_minigender_1
  • 来自: 安平人@北京
博客专栏
Group-logo
Netty学习笔记
浏览量:72782
社区版块
存档分类
最新评论

写给高性能数据库引擎coolhash

 
阅读更多
   前一段时间fourinone在ITEYE资讯上发表了一篇http://www.iteye.com/news/29025-Fourinone-CoolHash高性能数据库引擎产品宣言,我回复评论说玩得酷,还要考得住,借用一些企鹅手机管家的台词,结果被fourinone十分不满意。又把我骂了一顿,我继续回击。面试的时候流行一句话,talk is cheap,show me the code,我在此又借用了一下,talk is cheap,show the benchmark!自此我每天一贴呼唤fourinone拿出benchmark,但至此他都没有回应!好吧我就自己动手看看CoolHash的高性能,我使用fourinone提到的4.05.06,进行了100并发100w请求的benchmark,并将代码放在https://git.oschina.net/zhh5919/fourinonetest不料在并发场景下CoolHash就会抛出异常,啊高性能啊!
详细过程如下:
搞这个东东,目的只有一个让我们看看fourinone coolhash的所谓高性能。 搞起来的步骤:
  • 首先将项目导入eclipse中,会自动编译代码到bin目录,同时会将fourinone.jar copy到该 目录下,这个很重要,因为在fourinone提供的指南demo也是这么玩,尽量和他的demo一致, 要不fourinone会说你使用姿势不正确的。
  • 启动CoolHashServer 从命令行cmd下进入bin目录。然后执行 java -cp fourinone.jar; RunServer 然后看到启动log Start ParkService and waiting 4 seconds... Start CoolHashService and waiting 5 seconds... Please try connect to CoolHashServer now. ok CoolHashServer启动成功啊
  • 简单的benchmark,CoolHash只提供单线程的读写,而且仅仅是单线程写入几十个数据, 如果把他叫做benchmark,我想你看到这里,一定是呵呵 哈哈…… 那我们给他加点压力吧,100并发100w次请求,我想这不是什么难事儿吧!mongodb, ideawu开源的SSDB都能轻松做到,让我们来见识一下CoolHash看看行不行,我写了一段 模拟100并发100w请求的代码,在EasyCoolHashDemo,各位看官也可以帮我review一下。 执行看看吧! java -cp .;fourinone.jar EasyCoolHashDemo

    执行结果让我差点崩溃了,哦不是我崩溃,是我的电脑崩溃了,cpu几乎100%。 我的电脑配置i5-3470 3.2GHz的,内存4G,win7系统。 惊喜的是哪有这些~ 根本执行不了,就不断地报错~ 欢迎更多的小伙伴来按上面的步骤 试试看看有木有报错! @fourinone啊 这就你所说的高性能,不是单线程写入几十个kv,然后每个kv都秒级别 就是高性能了


INFO: DataWorker Number:8
Exception in thread "Thread-9" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-56" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-81" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-70" java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at com.fourinone.FileAdapter$1.getBytes(FileAdapter.java:317) at com.fourinone.ConstantBit$Target$1.getBytes(ConstantBit.java:22) at com.fourinone.ConstantBit$Target.getTargetBytes(ConstantBit.java:175)

    at com.fourinone.DumpCtor.put(DumpCtor.java:208)
    at EasyCoolHashDemo$Worker.run(EasyCoolHashDemo.java:39)
    at java.lang.Thread.run(Unknown Source)



1
1
分享到:
评论
4 楼 xiaoZ5919 2014-07-16  
cwqcwqmax9 写道
你的代码缺少运行文件    config.xml
你看coolhash的文档就知道  这个config.xml是自动生成的 如果你的没有生成那说明存在一些问题,我的测试环境是能自动生成的
3 楼 cwqcwqmax9 2014-07-16  
你的代码缺少运行文件    config.xml
2 楼 cwqcwqmax9 2014-07-16  
请把 config.xml  贴出来啊  


一运行RunServer    就会报错 


Start ParkService and waiting 4 seconds...
Start CoolHashService and waiting 5 seconds...
Please try connect to CoolHashServer now.
[XmlConfig][Error:get XmlProps From File]java.io.FileNotFoundException: F:\高性能数据库引擎coolhash coolhash  测试\fourinonetest\config.xml (系统找不到指定的文件。)


Exception in thread "Thread-9" java.lang.ExceptionInInitializerError
at com.fourinone.BeanContext$1.run(BeanContext.java:332)
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.fourinone.ConfigContext.getLogLevel(ConfigContext.java:260)
at com.fourinone.LogUtil.<clinit>(LogUtil.java:13)
... 1 more
1 楼 epanthere 2014-07-10  
作者好像出了性能报告了~
http://www.iteye.com/news/29173-CoolHash-Database-Engine

相关推荐

    access2010数据库引擎

    access2010数据库引擎

    Dao Jet数据库引擎

    Dao Jet数据库引擎,当WINDOWS中没有带这个数据库引擎时,可以选择手动安装 Dao Jet数据库引擎

    Access2010数据库引擎

    AccessDatabaseEngine.exe是微软的64位Access2010数据库引擎可再发行程序包。 运行软件提示错误 :未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ,那么就需要安装这个软件了。本程序的作用在于使得在office系统...

    wpsaccess2010数据库引擎

    安装完成后,可解决WPS无法链接外部数据的问题

    设计高性能数据库[优化数据库结构]

    在我们创建数据库的时候,一般来说用户数据库默认路径和系统数据库是放在一起的,这种部署方式有严重问题:假如有一个第三波书店的数据库,用户对它频繁访问,数据库所在的磁盘吞吐量已经接近极限,那么这个时候...

    2015年中国数据库大会CoolHash架构PPT

    NULL 博文链接:https://fourinone.iteye.com/blog/2205185

    cpp-C从头写一个SQLite数据库引擎

    C从头写一个SQLite数据库引擎

    dao3.5数据库+引擎.zip

    Data Access Object 3.5数据库安装程序+数据库引擎文件

    Access 2010数据库引擎

    安装完成后,可解决WPS无法链接外部数据的问题

    Access OLE DB数据库引擎

    用oledb连接数据源时,如果数据源是access的,需要access数据库引擎,系统默认是没有的,需要下载此软件安装即可。具体使用方法请参考 张立的《C#2.0 实例自学手册:通过200个例子掌握Web开发捷径》这本书中有关OLE...

    解密SqlServer数据库引擎

    解密SqlServer数据库引擎是指破解SqlServer数据库引擎的加密算法,以获取数据库中的加密数据。SqlServer是一种关系型数据库管理系统,它使用数据库引擎来存储和管理数据。 内容概述: 解密SqlServer数据库引擎的...

    Oracle 高性能SQL引擎剖析:SQL优化与调优机制详解 (黄玮) 高清PDF扫描版

    oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能...《oracle 高性能sql引擎剖析:sql优化与调优机制详解》内容丰富且深入,破解了oracle技术的很多秘密,适合oracle数据库管理员、应用开发人员参考。

    数据库-Mysql剑谱之数据库引擎.docx

    ——老子 这里简单谈谈数据库连接引擎那点事儿 在数据库实际操作过程中,我们很少涉及到数据库引擎对象的事情,一般情况在创建数据库的时候都使用默认的InnoDB数据库引擎,那么到底什么是数据库引擎,有什么样的...

    14高性能数据库集群:读写分离.pdf

    14高性能数据库集群:读写分离

    Borland软件公司的数据库引擎

    Borland软件公司的数据库引擎,BDE是(Borland Database Engine)宝兰数据引擎的缩写,它不仅能访问本地的不同数据库,还可以将应用从本地上传到客户机-服务器系统,而且有很高的效率.

    bde客户端数据库引擎

    bde客户端数据库引擎

    BDESetup(BDE数据库引擎安装包)

    BDESetup(BDE数据库引擎安装包)

    解密Oracle数据库引擎原理

    在1992年,Oracle发布了第七个版本,引入了名为“Oracle Parallel Server”的分布式数据库架构,这使得Oracle数据库能够在多个服务器上同时运行,提供更高的性能和可靠性。 随着互联网的迅速发

    Oracle和MySQL高性能数据库设计

    Oracle和MySQL高性能数据库设计 前言:系统上线几年,性能慢慢的变差,不断优化SQL,但并非所有的SQL都是可以通过技术手段优化。只有调整数据库设计,此时发现非常困难,因为数据库就像是房子的地基,如果地基要改变...

Global site tag (gtag.js) - Google Analytics