反饋已提交
網絡繁忙
範本的載入速度受到很多因素影響,如果一個範本預覽的時候,載入較慢,該如何去分析問題原因呢?
大部分範本載入慢,都是因為 sql 執行速度比較慢。那麼如何驗證 sql 速度快慢呢?可以使用以下幾種方案。
1)在設計器的資料集中直接查詢,人為感受 sql 的執行速度-----設計器查詢慢可考慮更換驅動。
2)將範本匯出為內建資料集進行預覽,查看速度是否變快。-----匯出內建資料集後預覽變快說明是取數環境慢,優化 sql 或資料庫效能。
3)安裝 效能插件 ,使用平台裏的 sql 執行監視功能,查看 sql 執行速度以及執行次數。如果是執行次數過多導致的慢,可以試試 抽數快取 功能。
4)使用 抽數快取介紹 ,查看速度是否變快。-----開了快取變快,說明是資料集本身查詢速度不佳。
排除掉 sql 原因後,接下來就應該分析下,範本元素是否過於複雜,或者有一些不合理的設定。下面列舉幾類常見的問題設定。
如下圖所示,第一欄為手寫,後面的欄位重複拖入,且每個都設定了過濾。例子的範本還是最簡單的,實際情況下這種結構的範本大多比較複雜,會導致大量的重複計算,影響效能。
當看到範本中有大量的黃色/藍色/紅色小三角時,就可以得知範本中使用了大量的過濾和判斷或是形態設定,勢必會影響效能。
此類情況通常可以透過修改父格,優化範本結構來解決,可參見:防止填報笛卡爾積
範本中如果插入了較大的圖片、展示了較多的圖片,對效能也會有一定影響,可以考慮使用 webimage 展示圖片。
當資料較多或者範本結構較複雜的時候,後台計算範本的時候會產生大量的格子數,前端展示的時候也會比較慢。所以,對於資料量,儘量不要一次展示太多資料,可以考慮分頁 sql ,或者使用 新計算引擎
大量使用圖表會造成前端渲染速度下降,瀏覽器當機,所以設計範本的時候不能濫用圖表。
範本中如果使用了較多的sql函式,value函式,資料集函式等,或者sql函式本身執行的速度較慢,也會導致範本預覽變慢。
大量使用 JS 或者 CSS 語句去修改了範本元素樣式,也會對範本效能產生影響。
全局參數是不管頁面是否呼叫,都會跟隨載入,對載入速度有一定影響
全局水印設定是否寫了sql函式進行取數,sql函式那邊取不到資料或取數慢,所有的範本都需要等sql函式取數逾時之後才能夠顯示出來,就導致所有的範本預覽慢,可以透過關掉全局水印進行測試。
注意sheet名是固定值還是公式,如果是使用公式,且公式有一些參數計算,可能會影響範本計算速度。
如果是這種情況,可以先將sheet名修改成預設值排查
按鈕元件元件裏的參數預設值也是在初始化時計算的,不是在點選的時候才計算,如果按鈕元件裏大量呼叫sql函式,並且計算時間較久,也會對範本載入時間產生影響。比如客戶用來實現重置所有元件值的按鈕,大量呼叫sql函式用來計算元件預設值,就對範本計算產生了影響。
範本中存在空白列可能也會影響速度。
檢查範本紙張背景的設定,範本紙張不要設定得過大,且當紙張背景設定為紋理時,可能會影響效能。
可以考慮調整紙張大小設定和更換紙張背景設定。
1)可以透過F12的Network模組去查看一張範本的所有請求速度,分析是否有時間過長的請求,以及該請求的作用。
2)滑鼠懸浮Waterfall可以看到請求各個階段的時長。如果一個請求時間過長,可以先排查下是否由於做了映射導致。
3)Size列可以識別相關資源是否從快取讀取。從快取讀取的資源一般不會影響效能。
1)日誌級別
降低日誌級別,比如可從debug調整成error。
2)資料庫是否外置
內建資料庫效能較一般,可以考慮將finedb資料庫外置。
3)根據併發數調整中間軟體(比如tomcat)的執行緒數、業務資料庫的連結池。
4)關閉平台快取中的「總是重新讀取範本」按鈕。
5)安裝 效能插件
6)安裝 抽數快取介紹 :如果範本存取情況是僅首次存取慢,可以考慮安裝抽數快取插件進行優化
7)報表分頁組件插件 導致。
現象:
報表資料量大,範本載入時間長
參數面板載入很久
對於資料量大的報表,連參數面板都一直載入不出來的話可以考慮是「報表分頁組件插件」導致的,此插件計算把頁面計算邏輯放在了最前面,進而導致範本載入時間遠遠超出sql取數時間。
範本的載入,需要經過取數、計算、渲染等階段,每個階段都會有影響速度的因素,所以需要依次排查。在排查程式中,可以使用二分法,儘量減少範本元素,定位到對效能影響最大的部分。
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙