共计 3006 个字符,预计需要花费 8 分钟才能阅读完成。
页面渲染是指报表在计算实现后,生成 html 页面时加上各种格局外观属性的过程。如果在报表中增加了大量的出现成果(隔行异色、背景图、条件警戒色等)时,页面渲染的速度就会受到影响变慢,但往往这些出现成果又是必须的,所以这个时候就得看报表的性能了。
这里对润乾、帆软和 smartbi 三款报表工具进行测试,业内还有永洪和亿信也声称对简单报表的反对较好,但通过根本模型测试就会发现这两款产品与前述三款差距还是比拟显著(可参考前面的链接),就没必要再做更多评测了。
测试的用例在数据计算上都比较简单,因为次要考查渲染性能,只在款式上减少了下面说到的几个条件款式,具体的能够看上面的阐明。
用例一,简略行式表
“销售订单明细表”,字段 48 个(对应到报表为 48 列),总数据量 8600 条。
报表数据集 SQL:
select * from 销售订单统计汇总 where 订单 ID!=? order by 订单 ID
select * from 销售订单统计汇总 where 订单 ID!=? order by 订单 ID
为保障测试偏心,减少参数使得每次计算数据不同,报表不走缓存。
后果报表式样:
这是润乾报表生成后果,其余两款产品都是同样成果。
条件格局
1、隔行异色
2、折扣,折扣大于 0.15(即达到 85 折) 标红(前景色)3、运货费,分十个区间判断,小于等于 10 标为绿色、>10&&<=20 某色、>20&&<=30、>30&&<=40、>40&&<=60、>60&&<=80、>80&&<=100、>100&&<=120、>120&&<=140、大于 140 标红。4、订单 ID,依据“运货费”判断分十个区间,小于等于 10 标为绿色、>10&&<=20 某色、>20&&<=30、>30&&<=40、>40&&<=60、>60&&<=80、>80&&<=100、>100&&<=120、>120&&<=140、大于 140 标红。且 >100&&<=120 字体加粗、>120&&<=140 字体加粗、大于 140 字体加粗
1、隔行异色
2、折扣,折扣大于 0.15(即达到 85 折) 标红(前景色)3、运货费,分十个区间判断,小于等于 10 标为绿色、>10&&<=20 某色、>20&&<=30、>30&&<=40、>40&&<=60、>60&&<=80、>80&&<=100、>100&&<=120、>120&&<=140、大于 140 标红。4、订单 ID,依据“运货费”判断分十个区间,小于等于 10 标为绿色、>10&&<=20 某色、>20&&<=30、>30&&<=40、>40&&<=60、>60&&<=80、>80&&<=100、>100&&<=120、>120&&<=140、大于 140 标红。且 >100&&<=120 字体加粗、>120&&<=140 字体加粗、大于 140 字体加粗
测试后果
“无”示意没有设置条件格局的报表;“有”示意减少了条件格局后的报表;“无输入”指后盾不输入对应工夫;“总用时”提从拜访报表到页面出现进去;
以下后果均同浏览器,别离为总用时、后盾报表计算、生成 html 及翻页的 5 次均匀数据。
1、smartbi 不反对不分页展示,所以无奈测试到单页 8600 行 *48 列的规模。 按其最大 2000 行强制分页测试:
无条件格局:从拜访到首先出现进去是 17s,计算 + 生成 html 在 3s 左右,翻页工夫较长均在 17s 左右。
有条件格局:从拜访到首先出现进去是 30s,计算 + 生成 html 在 6s 左右,翻页工夫较长,达到在 40s 以上。
2、帆软当不分页时,后盾不再输入生成 html 的用时,标为“无输入”了。
从用例一的测试后果看,在惯例的单页格数规模下,三款产品的页面渲染根本一样,且有无条件格局根本不受影响。不过能够看到帆软的报表计算太慢了,所以页面端体现出的感触是出表最慢。
单页格数增大到 500*48 规模时,在报表没有条件格局下,页面渲染用时也基本一致,都在 3s 左右。减少条件模式后,帆软和 smartbi 的总用时相比润乾都有较大减少,帆软是花在报表计算上了,页面渲染用时没什么变动。但对 smartbi 页面渲染能力曾经有了较显著影响,比照无条件格局时减少了 50% 的工夫。
再次增大到 8600*48 规模(因 smartbi 不反对超过 2000 行的分页,这个规模就不比照它了),此时帆软和润乾,不管总用时还是渲染能力差距更很显著了,大家参考润乾和帆软的测试数据高深莫测,润乾均优于帆软。
再联合翻页来看,惯例规模下,润乾和帆软简直没什么耗时,翻页晦涩,而 smartbi 会有个卡顿(每页都有 1s 左右的用时)。来到 500 48 的规模,有无条件格局对润乾仍然没有影响,帆软比照本身无条件格局翻页减少 60% 时长,但 smartbi 的有些不了解,从数据看,每翻一页和总用时一样(猜想:smartbi 对于清单报表是应用数据库分页的机制,每次都要按分页行数取数、再计算、生成 html,而后页面加载,这也和翻页及总用时统一的数据看相符,但目前没失去官网反对的回复)。针对 smartbi 最大反对 2000 行强制分页,后面数据表格上面也独自做了测试,当按 2000 行 48 列分页时,减少完条件格局,工夫翻了近一倍,并且翻页比呈现出首页的工夫都长了。
小结
小结一下:惯例规模,润乾最优,smartbi 次之,帆软输在了报表计算上,总用时太久了。500 行 48 列规模下,润乾最优,帆软次之,smartbi 翻页太慢。特大规模下,仍然润乾最优,帆软次之,smartbi 最差。用例一整体体现出润乾在性能优化上全面(模型好)也最好,帆软的计算模型不够好,500 行 48 列规模,减少条件格局后减少了不少计算工夫。smartbi 只适宜惯例页规模的状况,大的就很难用了。
用例二,穿插表
“产品销售情况表”,表数据如下
每一个订单所属一个货主地区,每个订单均有 60 种不同产品,每种产品有对应销售金额。
订单号有 847 个,穿插报表按行分组(地区、订单编号)、列分组(产品名称),规模为 847 行 * 62 列,均采纳不分页形式展示。
报表数据集 SQL:
select * from 产品销售情况表 where d 订单编号!=? order by 货主地区, 订单编号
select * from 产品销售情况表 where d 订单编号!=? order by 货主地区, 订单编号
同样,减少参数使得每次计算数据不同,报表均设置不走缓存。
后果报表式样:
条件格局
依据条件判断,给三个地区(华北、西南、华东)各调配一套色系,华北红色系,西南蓝色、华东绿色,而后依据 10 类产品判断,给予色系内不同深浅色彩的前景色。
测试后果
“无”示意没有设置条件格局的报表;“有”示意减少条件格局后的报表;“总用时”指拜访报表到页面出现完;“后盾工夫”指报表计算 + 生成 html 工夫
以上后果均同浏览器,5 次均匀用时。
对于穿插类的报表,润乾的体现仍然是最好的(该报表只有一页数据,所以只是感觉上差的不太多), 另外帆软比 smartbi 体现要好,或者是针对这类报表,帆软的模型要优于 smartbi。
减少简单条件格局后的数据体现与用例一统一,润乾仍然是衰减最小,帆软衰减也很小,smartbi 的页面渲染导致的衰减显著要大得多,用时比润乾和帆软要多出好几倍。
总结
总的来看,润乾不管运算还是渲染的性能均是最优。帆软和 smartbi 针对不同格局报表,不同的数据规模,有些性能差别,但整体看帆软要优于 smartbi 的,比拟平衡,绝对也更稳固。smartbi 在解决页面较大且有较多格局的报表时渲染性能较差。