TBSchedule应用实战之“性能怪兽(集群篇)“

本节的重点将采用原生java,tbs和xxl-job三个模型来测试处理50万业务数据,总结他们的差异,向读者朋友们展示为什么作者称tbs为性能怪兽。

本节以实际对比运行结果展示tbs的运行效率,模拟交易明细汇总,条件如下:

数据量:30w

计算逻辑:按账户号分组计算收入金额与支出金额,每500条记录汇总一次更新数据库。

硬件:4核3.3GHZ,16GB内存单机,Windows 7 专业版,4线程模拟4分片计算。

本节DEMO下载地址:点击下载1、纯java实现计算结果如下:

总计耗时:1445.208秒2、tbs实现计算结果如下:

先解释上图配置以保证公平性:

a)任务采用处理休眠模式,但是休眠时间为0,模拟JAVA持续执行。

b)任务采用单机4线程组,4任务项,模拟JAVA单机4分片。

c)任务配置线程数为1,即单线程执行,模拟java也是单线程执行。

总计耗时:36.1970秒3、xxl-job实现计算结果如下(待更新):

备注:a)在Win下,CPU占用没有参考意义。

b)因为测试机硬件有限,xxl-job被迫改为两分片执行。猜想4分片也差不了多少。

由此可见tbs之性能怪兽头衔名副其实,虽然目前版本对zookeeper的稳定性依赖较强,但得益于tbs将取数与计算形成抽象,隐藏内部优秀的线程状态管理。在单线程下性能尚且如此,试想一台16GB内存机器开启多线程性能得有多恐怖!

原文发布于微信公众号 - Java技术栈(javastack)

原文发表时间:2018-02-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

国产指纹库平台 – 天蝎指纹库

前 言 信息收集为渗透测试环节一个非常重要的阶段,它关系到后序列策划攻击的成功性。快速收集目标服务信息则需要测试人员熟练运用指纹识别技术。 指纹识别概念 组...

630100
来自专栏更流畅、简洁的软件开发方式

您把哪些东东看成了对象?

     我们初学面向对象的时候,书里面往往会用小猫、小狗、鸭子、汽车等举例子,说是可以把这些看成是一个对象,然后再弄出来一些属性、方法、事件等进行说明。   ...

205100
来自专栏PHP实战技术

3-5年的PHPer常见的面试题

看到有很多,的总结一下,比较适合有一定经验的PHPer 平时喜欢哪些php书籍及博客?CSDN、虎嗅、猎云 js闭包是什么,原型链了不了解? for与forea...

511100
来自专栏逍遥剑客的游戏开发

在Nebula3中加载自定义模型的思路

15940
来自专栏程序生活

Python爬虫系列(一)初期学习爬虫的拾遗与总结(11.4更)

---- 最近,为了提取裁判文书网的有关信息,自己迈入Python的学习之路,写了快两周的代码,自己写这篇文章总结下踩过的坑,还有遇到一些好的资料和博客等总结下...

42350
来自专栏况鹰的专栏

obs源码分析第二篇:庖丁解牛

上一篇《obs源码分析第一篇--踏石留印》简单介绍了obs的由来和工程构成,这一篇我将剖析一下obs二代的代码内部,就不来文艺气息了,直接上猛料。本文将按照数据...

1.9K00
来自专栏前端大白专栏

最近在学习react-native 为之后的找工作做准备

21390
来自专栏大宽宽的碎碎念

如何深入理解开源项目从小代码集看起聚焦请先看文档关注资源的生命周期找一个好工具建立调试环境看代码很累,要坚持

34660
来自专栏腾讯游戏云的专栏

游戏差异更新—BSDiff算法解析

差异更新即在软件更新时只更新差异化的部分,以达到用最小的下载量完成软件的更新需求。该思想由来已久,从刚接触电脑时的操作系统、应用软件快速更新功能或填补漏洞,到迭...

22.6K100
来自专栏北京马哥教育

高性能服务器架构里的隐藏秘密

作者:Coder李海波 来源:http://blog.csdn.net/marising/article/details/5186643 在提到服务器架构时,...

36640

扫码关注云+社区

领取腾讯云代金券