原創|對比評測|編輯:鄭恭琳|2018-05-14 14:49:03.000|閱讀 623 次
概述:這是我們對兩種已知報告生成器(Microsoft SQL Server Reporting Services和FastReport .Net)進行比較研究的最后一部分。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
這是我們對兩種已知報告生成器(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一起工作而創建的。這個捆綁充分證明了它的用途。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn