報表工具對比選型系列 - 容量及相關效能
報表上的計算比較複雜,常常是記憶體計算,報表工具能支援的容量也就是個重要的技術指標。我們當然希望報表佔用的記憶體儘量少,這樣同樣記憶體空間可以容納更大的報表(更多的單元格),也能支援更大的併發數量。
本文將對比報表工具的容量及相關效能,看同樣的記憶體(可用 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 在計算和容量方面都明顯差很多(測試過程中還會發現功能也差,但不是本次測試點),稍大的表格或較多的併發時就會難以勝任了。
相關連結
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957599/viewspace-2719276/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 報表工具選型對比系列 - 多源關聯效能
- 報表工具選型對比系列 - 大報表
- 報表工具對比選型系列 - 頁面渲染效能
- 報表工具對比選型系列用例——多源分片報表
- 報表工具對比選型系列——列印與匯出
- 報表工具對比選型系列用例——過程計算
- 2020主流報表工具對比選型深度測評系列——中國式複雜報表之多源分片報表
- 報表工具對比選型系列—多樣性資料來源支援度
- 報表工具對比之潤乾報表與銳浪報表對比
- 倒排索引及ES相關概念對比MySQL索引MySql
- nGrinder詳細介紹及效能工具對比
- 儲存容量及相關計算單位
- MQ選型對比文件MQ
- 從兩家主流報表工具的報jia看行業水深 - 常用報表工具對比 - 主流報表對比行業
- java高效能反射及效能對比Java反射
- RabbitMQ與Kafka選型對比MQKafka
- Vue管理系統前端系列二相關工具引入及封裝Vue前端封裝
- 動態生成表-判斷表是否存在效能對比
- 5種常見Bean對映工具的效能比對Bean
- 使用 BenchmarkDotNet 比較指定容量的 List 的效能
- 49_初識搜尋引擎_filter與query深入對比解密:相關度,效能Filter解密
- 資料庫入門之3張表對比關係型與非關係型資料庫資料庫
- 資料庫選型比對 Oracle vs sqlserver資料庫OracleSQLServer
- 統一配置中心技術選型對比
- for & range 效能對比
- 報表/BI工具選型重點注意事項和驗證技巧分享
- 五款免費報表工具推薦:山海鯨報表、Tableau 等優劣對比
- BI報表軟體選型介紹
- UIView中與AutoLayout相關的幾個方法對比UIView
- 以太坊:Dapp及相關開發工具介紹APP
- jackson、fastjson、kryo、protostuff等序列化工具效能對比ASTJSON
- Java實體對映工具MapStruct 與BeanUtils效能比較JavaStructBean
- ERP系統型別大對比,切勿盲目選擇型別
- python基礎之資料型別及相關方法Python資料型別
- 關於Java和C#的型別對比JavaC#型別
- 如何選擇高價效比的報表工具
- 對比山海鯨報表和Tableau,哪款報表軟體更好用?
- [20230220][20230110]生成相關備庫的awr報表