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

写给高性能数据库引擎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

相关推荐

    wpsaccess2010数据库引擎

    《WPS Access 2010数据库引擎:解决外部数据链接问题》 在日常工作中,我们经常需要处理各种数据,而这些数据可能来源于不同的系统或文件格式。Microsoft Office的Access数据库引擎是一个强大的工具,用于管理和...

    Access 2010数据库引擎

    这个数据库引擎被称为Jet或者ACE(Access Connectivity Engine),在不同版本的Office中,它的功能和性能都有所提升。 当用户遇到WPS(金山办公软件)无法链接到外部数据的问题时,通常是因为缺少了必要的数据访问...

    Dao Jet数据库引擎

    DAO Jet数据库引擎是微软在早期开发的用于访问和管理Access数据库的一种组件,它与Jet数据库引擎密切相关。Jet引擎是Microsoft Windows操作系统中一个内置的数据库管理系统,主要用于支持Access数据库和其他使用Jet...

    Microsoft Access 2010 数据库引擎可再发行程序包-X32

    **Microsoft Access 2010 数据库引擎可再发行程序包详解** Microsoft Access 2010数据库引擎可再发行程序包是微软提供的一款重要工具,它允许开发者和用户在不安装完整版Microsoft Office 2010的情况下,能够读取、...

    Microsoft Access Database Engine数据库引擎可再发行程序包

    Microsoft Access Database Engine数据库引擎可再发行程序包。 博客链接:https://blog.csdn.net/kangweijian/article/details/141895795 Microsoft Access 2016 数据库引擎可再发行程序包。 此下载将安装一系列...

    Access2010数据库引擎

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

    dao jet数据库引擎

    DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,它是Access数据库的基础。Jet数据库引擎是微软开发的一种强大的、快速的数据库管理工具,尤其适用于小型到...

    dao3.5数据库+引擎.zip

    DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,如Access数据库。DAO 3.5是DAO的一个版本,它在Windows操作系统中广泛使用,尤其是在16位和32位应用程序中。...

    Borland软件公司的数据库引擎

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

    Access数据库引擎,无需安装Access也可以使用Access数据库AccessDatabaseEngine.rar

    Access数据库引擎,全称为Microsoft Office Access Database Engine,是微软提供的一款独立于Access应用程序之外的核心组件。这个引擎使得用户能够在不安装完整版Access的情况下,也能读取、写入和操作Access数据库...

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

    在本文中,我们将深入探讨如何使用C语言从头开始构建一个SQLite数据库引擎。SQLite是一个开源、轻量级的嵌入式数据库系统,广泛应用于移动设备、桌面应用和服务器端。它实现了SQL标准,并且提供了事务处理、索引、...

    Access OLE DB数据库引擎

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

    高清完整版 Oracle 高性能SQL引擎剖析SQL优化与调优机制详解

    Oracle数据库是全球领先的企业级...由于是关于Oracle高性能SQL引擎的深入剖析,这本资料是数据库开发者和管理员难得的参考资料,尤其对于处理复杂业务逻辑和海量数据的场景下,掌握这些优化和调优技巧显得尤为重要。

    解密SqlServer数据库引擎

    Sql Server数据库引擎,由Microsoft开发,是一个广泛应用于企业级的高性能关系型数据库管理系统。其重要性和作用体现在以下几个方面: 1. **数据存储与管理**:Sql Server数据库引擎采用先进的数据存储结构,如B树...

    Mysql数据库引擎大揭秘

    - 非关系型数据库引擎(NoSQL):如MongoDB,采用键值对、文档、列族等方式,适合非结构化数据,强调高性能和可伸缩性。 - 内存数据库引擎:如Redis,数据存储在内存中,提供快速读写,适用于临时数据和高并发场景。...

    空间数据库引擎空间数据库引擎.ppt

    空间数据库引擎空间数据库引擎

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

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

    解密Oracle数据库引擎原理

    Oracle数据库引擎的主要功能包括数据存储管理、数据访问控制、数据操作处理、性能优化、数据完整性和一致性以及备份和恢复。 1. 数据存储管理:Oracle数据库引擎采用高效的数据结构和算法,如B树和位图索引,以优化...

Global site tag (gtag.js) - Google Analytics