这是我们对两种已知报告生成器(Microsoft SQL Server Reporting Services和FastReport .Net)进行比较研究的最后一部分。我们已经检查了它们的功能性、支持的技术、报告对象和支持的报告导出格式。为了完成这项研究,我们还应该介绍性能测量。
要进行测试,请使用包含数千行列表的简单报告。为了实验的准确度,我们在两个报告生成器中使用相同的数据源。测试的方式是生成一个报告并将其导出为三种最流行的格式:PDF、XLS、DOCX。在这里,我们测量以毫秒为单位的导出时间。
性能测试(1000行) | ||||||
---|---|---|---|---|---|---|
测试 | SSRS PDF | FR PDF | SSRS XLS | FR XLS | SSRS DOCX | FR DOCX |
1 | 2500 | 1703 | 234 | 875 | 1484 | 3297 |
2 | 1641 | 1890 | 328 | 562 | 1140 | 3219 |
3 | 2109 | 2844 | 235 | 844 | 1172 | 3219 |
4 | 1547 | 2985 | 250 | 843 | 1000 | 3360 |
5 | 1485 | 2672 | 265 | 875 | 1063 | 3297 |
五项测量正在测试中。
1)导出为PDF。对于SSRS,平均时间为1856毫秒。对于FR.Net——2418毫秒。
这里SSRS显然更快。FastReport有一些其他的准备工作。
2)导出到XLS。SSRS显示的平均时间为262毫秒,而FR.Net为800毫秒。这里没有什么奇怪的。来自Microsoft的产品必须快速导出为MS Office格式。
3)导出到DOCX。在FR.Net中,SSRS再次以1172毫秒的速度快于3513毫秒。情况与之前的导出完全相同。
我们可以认识到SQL Server Reporting Services在这个领域的领导地位。为了更清晰起见,测量结果如下图所示。
如果使用PDF导出FastReport的情况并不重要,那么在XLSX和DOCX导出中会出现3次的丢失。
现在让我们看看最终文件的大小:
导出文件大小,KB | ||
导出 | SSRS | FR |
---|---|---|
308 | 204 | |
XLS | 111 | 551 |
DOCX | 50 | 64 |
如您所见,FastReport.Net生成的PDF文件占用的空间比SQL Server Reporting Services少三分之一。由于FR.Net中大量的PDF导出设置,您可以实现最小的文件大小。
至于以XLS和DOCX的导出,SSRS显示出最好的结果。XLS文件的大小比任何竞争对手小五倍!对于DOCX而言,差异并不显着。
那么,这个测试的结果并不简单。结论将在文章结尾为大家陈述。
让我们再做一次测试——压力测试。我们将在报告中显示大量行——2458524。不言而喻,这种报告不太可能存在于现实中,但对于我们的测试来说,这是必要的。作为DBMS,我们使用MS SQL Server 2016——SSRS的本地数据源。
但是,SQL Server Reporting Services并未掌握此任务:
截断的RAM。因此,错误是:抛出了'System.OutOfMemoryException'类型的异常。是的,其他程序也使用RAM,但可以使用虚拟内存。该屏幕截图显示磁盘上的负载很小,因此不使用交换文件。
现在我们将在FastReport.Net 2017.2中生成相同的报告:
我们花了40分钟等待。但报告已经构建完成。看看截图。耗尽所有内存,FR.Net使用交换文件——磁盘上的负载为99%。任务完成。
测量使用以下硬件配置进行:CPU - Intel Core i5-2450M(2.5GHz)、RAM - 8 GB、OS - Windows 10 x64。
比较研究的最后阶段已经完成。
为了总结文章全部三部分的测试,我们需要记住在研究的前几部分中发生的事情:
1)开始的时候,我们看了一下程序的功能。在此比较中,FastReport.Net比Microsoft SQL Server Reporting Services具有优势。优点:支持无量纲报告页面、报告中的事件、对话框形式以及修改已经构建的报告的能力。
累计得分:SSRS - 0,FR.Net - 1。
2)接下来,我们比较了支持的技术。FastReport.Net是ASP.Net Core支持的领导者之一。目前还没有对SSRS中的ASP.Net Core支持的真实预测。
累计得分:SSRS - 0,FR.Net - 2。
3)支持的报表对象再次显示了FR.Net优于Microsoft SQL Server Reporting Services。在我看来,CheckBox和Barcode对象的缺失对于SSRS是不可原谅的。
累计得分:SSRS - 0,FR.Net - 3。
4)以不同的格式导出报告。Reporting Services提供了一套非常有限的支持格式,只有最必要的格式。FastReport以其令人印象深刻的一系列导出格式在任何场合都让我着迷。这种比较巩固了其领导力。
累计得分:SSRS - 0,FR.Net - 4。
5)在报告以三种不同格式导出时,评估性能测量结果:PDF、XLS和DOCX。在这次测试中,SSRS赢得了无条件的胜利。
累计得分:SSRS - 1,FR.Net - 4。
6)导出文件大小的测试表明,与先前的测试相同的三种导出格式。在这里,FR.Net形成了一个更紧凑的PDF文件,而SSRS生成扩展名为.xls和.docx的较小文件。它被认为是一个抽奖游戏。
累计得分:SSRS - 2,FR.Net - 5。
7)Reporting Services没有通过压力测试来生成超过200万行的“超大型”报告。该报告不会生成。FastReport在40分钟内完成此项管理。
累计得分:SSRS - 2,FR.Net - 6。
根据测试结果和结果得出结论FastReport.Net在很多方面肯定胜过Reporting Services,并且可以完全取代竞争对手。任何与生成报告相关的任务都可以用到FR。
但是,我不能说Reporting Services是一个糟糕的报表生成器。它很好地完成了它的任务。毕竟,它是为了与MS SQL Server一起工作而创建的。这个捆绑充分证明了它的用途。
产品介绍 | 下载试用 | 优惠活动 | 在线客服 | 联系Elyn
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明:文章转载自:FastReport控件中文网 [https://www.fastreportcn.com/]
本文地址:https://www.fastreportcn.com/post/2054.html