报表工具对比选型系列 - 容量及相关性能

报表上的计算比较复杂,常常是内存计算,报表工具能支持的容量也就是个重要的技术指标。我们当然希望报表占用的内存尽量少,这样同样内存空间可以容纳更大的报表(更多的单元格),也能支持更大的并发数量。

本文将对比报表工具的容量及相关性能,看同样的内存(可用 jvm)空间下,谁能支持更多的单元格数,以及同样规模报表的计算性能。产品还是三款:润乾报表 V2018、FineReport V10.0、smartbi V9,涉及报表数据来源的均为同库同表。

测试的用例都是最简单的报表格式,具体可参考下面的说明。

用例一:简单行式表

“销售订单明细表”,字段 48 个(对应到报表为 48 列),总数据量 13 万条。

行式报表仅采用分页方式且全数据集计算方式测试,表样如下

JVM:可用 1.6G

测试结果

结合测试数据来看,润乾的容量要比帆软强很多,在容量许可时,性能也要好很多,说明润乾的计算引擎更为精巧高效。

帆软较差的原因从其他数据可以找出,240 万个格数时,都可以算出来,但后台用时是润乾的 4 倍多。到 480 万个格数,后台用时已达润乾 7 倍。所以,格数越多,帆软后台计算也越来越低效。

对于 smartbi,其清单报表只能走数据源分页机制,每次按照报表设定的分页行数来取,且清单类报表每页最大只允许 2000 行,不支持全数据集的报表,该用例就无法做同等条件下的对比了。

我们也测试了 smartbi 分页下的情况: 240 万个格数时,总用时 22s,后台 20s;600 万格数,总用时 56s,后台 53.5s;可以看出来性能较差,比润乾全数据集计算还要慢很多,只是采用分页机制后也不会发生溢出了。

用例二:交叉表

带数据集的测试报表,采用数据库“产品销售表”,表数据

每个订单(共 50 个订单)均有 15 种不同产品,每种产品有对应销售金额。

交叉表采用分页和不分页两种形式测试,表样如下:

JVM:可用 1.6G。

测试结果

不分页报表

首先,用没有数据源的报表测试来做对比,该结果单纯看有限空间内能容纳多少个单元格数。

报表不分页(或一页)情况:

其中,后台时间内加号(+)左右两边数据分别为“报表计算用时”和“生成 html 用时”。不分页时,帆软和 smartbi 后台不再输出生成 html 用时,所以没有区分。

注:从润乾的测试结果看,单页再多的单元格(240 万浏览器已无法加载)这里就不测了,即便能算出来但浏览器无法加载,没啥意义。

从交叉表可以看出,smartbi 只能容纳小几十万的单元格数,再多的情况仅看到后台算完报表,但页面已经无法渲染(偶尔能渲染出,但时间要 5 分多钟,且页面无法操作)。

帆软可容纳大几十万格数,百万左右就不行了。而润乾在 240 万时后台计算依然正常且速度很快,表现依然优秀。

然后,用带有数据集的报表测试,一个小规模(750 格数,50 行 *15 列,数据只有 750 条)的交叉报表,后面我们把结果扩大到相应大的规模对比。

其中,扩大规模的制作模型如下(以扩大到 30 万格数为例

即,在常规交叉报表基础上,行(A3)列(C1)各加一层,使横纵向重复多遍,如上行数扩大 10 倍至 500 行,列扩大 40 倍到 600 列,总格数达 30 万个。

测试数据如下:

对比有和没有数据集的报表测试数据,结论也是一致的,润乾最好,帆软计算和渲染强于 smartbi,也再次印证了前面文章对比渲染能力的结论。

分页报表

再结合报表分页时,看下对比数据,采用上面带数据集的报表。帆软和 smartbi 到 120 万格数时倒在生成 html 或页面渲染环节的,如果分页的话,则会根据前端请求,分页生成 html 后页面渲染,而一般的页都不大,就不会再在这个环节发生溢出。这样可以测试出报表计算过程中的容量 **:**

结合上面测试情况,分页时我们直接从 120 万格数(每页 100 行 *600 列,共 20 页)测起。smartbi 交叉报表不支持指定行数分页,结合文档及咨询客服后采用“行分页”+excel 页面设置中根据纸张缩放比例实现大概每页 100 行数据分页。

从测试结果上看,润乾的容量仍然是比帆软和 smartbi 都要强很多,在容量许可时,性能还是最优。另外,帆软在计算效率和容量两项上均优于 smartbi。

总结

总的来看,润乾报表在报表计算和容量上也占有明显的优势,速度快且占用内存小,说明润乾的报表引擎更为精巧高效,能够支持大规模的报表或并发数量;帆软能力居中,计算速度要慢一些且较大规模格数无法支持,但常规或稍大规模的报表或并发数量都还可以撑得住;smartbi 在计算和容量方面都明显差很多(测试过程中还会发现功能也差,但不是本次测试点),稍大的表格或较多的并发时就会难以胜任了。

相关链接

报表工具对比选型系列 – 页面渲染性能

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354