前一段时间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)
分享到:
相关推荐
access2010数据库引擎
Dao Jet数据库引擎,当WINDOWS中没有带这个数据库引擎时,可以选择手动安装 Dao Jet数据库引擎
AccessDatabaseEngine.exe是微软的64位Access2010数据库引擎可再发行程序包。 运行软件提示错误 :未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ,那么就需要安装这个软件了。本程序的作用在于使得在office系统...
安装完成后,可解决WPS无法链接外部数据的问题
在我们创建数据库的时候,一般来说用户数据库默认路径和系统数据库是放在一起的,这种部署方式有严重问题:假如有一个第三波书店的数据库,用户对它频繁访问,数据库所在的磁盘吞吐量已经接近极限,那么这个时候...
NULL 博文链接:https://fourinone.iteye.com/blog/2205185
C从头写一个SQLite数据库引擎
Data Access Object 3.5数据库安装程序+数据库引擎文件
安装完成后,可解决WPS无法链接外部数据的问题
用oledb连接数据源时,如果数据源是access的,需要access数据库引擎,系统默认是没有的,需要下载此软件安装即可。具体使用方法请参考 张立的《C#2.0 实例自学手册:通过200个例子掌握Web开发捷径》这本书中有关OLE...
解密SqlServer数据库引擎是指破解SqlServer数据库引擎的加密算法,以获取数据库中的加密数据。SqlServer是一种关系型数据库管理系统,它使用数据库引擎来存储和管理数据。 内容概述: 解密SqlServer数据库引擎的...
oracle数据库的性能优化直接关系到系统的运行效率,而影响数据库性能...《oracle 高性能sql引擎剖析:sql优化与调优机制详解》内容丰富且深入,破解了oracle技术的很多秘密,适合oracle数据库管理员、应用开发人员参考。
——老子 这里简单谈谈数据库连接引擎那点事儿 在数据库实际操作过程中,我们很少涉及到数据库引擎对象的事情,一般情况在创建数据库的时候都使用默认的InnoDB数据库引擎,那么到底什么是数据库引擎,有什么样的...
14高性能数据库集群:读写分离
Borland软件公司的数据库引擎,BDE是(Borland Database Engine)宝兰数据引擎的缩写,它不仅能访问本地的不同数据库,还可以将应用从本地上传到客户机-服务器系统,而且有很高的效率.
bde客户端数据库引擎
BDESetup(BDE数据库引擎安装包)
在1992年,Oracle发布了第七个版本,引入了名为“Oracle Parallel Server”的分布式数据库架构,这使得Oracle数据库能够在多个服务器上同时运行,提供更高的性能和可靠性。 随着互联网的迅速发
Oracle和MySQL高性能数据库设计 前言:系统上线几年,性能慢慢的变差,不断优化SQL,但并非所有的SQL都是可以通过技术手段优化。只有调整数据库设计,此时发现非常困难,因为数据库就像是房子的地基,如果地基要改变...