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

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

相关推荐

    Access 2010数据库引擎

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

    Microsoft Access 2010 数据库引擎.rar

    标题中的“Microsoft Access 2010 数据库引擎.rar”指的是微软在2010年发布的Access数据库引擎,这是一个用于处理和管理数据的强大工具。它不仅支持Access数据库(.accdb)格式,还允许与其他数据源如Excel、SQL ...

    dao3.5数据库+引擎.zip

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

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

    Microsoft Access Database Engine数据库引擎可再发行程序包 Microsoft Access 2016 数据库引擎可再发行程序包 此下载将安装一系列组件,用于帮助在 Microsoft Office System 文件与非 Microsoft Office 应用程序...

    dao jet数据库引擎

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

    Access数据库访问引擎64位.rar

    Access数据库访问引擎64位是Microsoft Office套件的一部分,它为64位操作系统提供了解决方案,以便能够读取、写入和管理Access数据库(.mdb或.accdb格式)文件。这个组件通常被称为Jet或ACE(Access Connectivity ...

    Borland软件公司的数据库引擎

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

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

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

    Mysql数据库引擎大揭秘

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

    bde客户端数据库引擎安装程序

    bde客户端数据库引擎安装程序,本程序将安装“ bde客户端数据库引擎”到您的计算机。

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

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

    《机械工业常用材料性能数据库》CLXN_V6.0

    机械工业常用材料性能数据库 V6.0 最新版的

    解密Oracle数据库引擎原理

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

    解密PGSQL数据库引擎

    3、PGSQL 数据库引擎的应用场景3.1 Web 应用:PGSQL 的高性能和丰富功能使其成为Web应用的理想选择,尤其是那些需要处理大量数据交互和复杂查询的网站。 3.2 大数据处理:PGSQL 的扩展性和并发性使其在大数据处理中...

    php Adodb数据库引擎

    ADODB 是一种兼容的各类数据库应用程序接口(API),支持的数据库种类非常地多, 例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, Access, ADO, Sybase, DB2 以及一般的 ODBC 特点: 1、...

    mysql数据库引擎

    mysql的数据库引擎分析讲解,里面包括innodb,数据库引擎介绍

    Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细).md

    Oracle RAC 19c集群搭建指南:实现高可用、高性能的数据库集群(超详细),一看就会的那种

    cpp-Alenka一个基于GPU的数据库引擎

    Alenka是一个创新的数据库引擎,它利用现代GPU(图形处理器)的强大计算能力,提供高效的数据处理性能。基于向量化的处理方式,Alenka设计目的是为了应对大数据时代下的高性能计算挑战。在传统CPU的基础上,Alenka...

    数据库引擎技术架构分析.pptx

    1. **技术创新**:随着技术的发展,数据库引擎不断进行创新以适应不断增长的需求,如高并发处理、大数据存储、快速查询响应等。这些创新可能涉及到新的数据存储结构、优化查询算法和分布式架构。 2. **数据库引擎...

Global site tag (gtag.js) - Google Analytics