Performance Analysis

  • Last update:November 07, 2025
  • Overview

    Version

    FineBI VersionFunctional Change

    6.0

    1. Relied on the built-in FineBI Direct Connection Performance Analysis plugin.

    The plugin is disabled by default and needs to be enabled manually.

    The plugin is updated automatically with JAR package updates.

    2. Only supported performance analysis for real-time data.

    6.0.16

    1. Directly merge the function into the product (no longer provided by an extra plugin).

    2. Supported performance analysis for both real-time data and extracted data.

    3. Optimized the time consumption calculation logic of the execution phase.

    6.1.6

    Decomposed the resource scheduling durations that display the execution plan construction and memory calculation stages.

    Application Scenario

    You may find it hard to locate the causes of the following problems even after repeated checks. These problems may even cause server crashes.

    • Some steps are executed slowly when you are creating a self-service dataset.

    • A step is slow when you are previewing a self-service dataset.

    • Operations are relatively slow when you are previewing a dashboard.

    • Operations respond slowly when you are editing a component.

    Function Description

    FineBI provides the Performance Analysis function to help you quickly and conveniently solve performance-related problems that may happen when you are previewing or editing dashboards, and editing self-service datasets.

    Notes

    1. For FineBI 6.0.16 and later versions, Performance Analysis is provided by the product by default.

    For FineBI 6.0.15 and earlier versions, Performance Analysis is provided by the built-in FineBI Direct Connection Performance Analysis plugin.

    The plugin is disabled by default and automatically updated as the product version. To use Performance Analysis, enable this plugin.

    2. The Performance Analysis function in FineBI 6.0.16 and later versions applies to both real-time data and extracted data.

    For FineBI 6.0.15 and earlier versions, Performance Analysis only applies to real-time data.

    Procedure

    Performing Performance Analysis

    Performance Analysis is available at many areas in FineBI.

    ContentLocation Description

    Data

    Performance Analysis on the data editing page of a subject in My Analysis

    4.1.png

    Component

    Performance Analysis on the component editing page of a subject in My Analysis

    4.2.png

    Dashboard

    Performance Analysis on the dashboard editing page of a subject in My Analysis

    4.3.png

    Performance Analysis on the dashboard preview page of a subject in My Analysis

    4.4.png

    Performance Analysis when you view a dashboard in Directory

    4.5.png

    Viewing Core Information

    The core performance analysis information will be displayed online after you click the Performance Analysis button. Core Info can help you preliminarily judge the causes of performance issues, as shown in the following figure.

     4.6.png

     The following table describes fields in the Core Info table.

    Field
    Description

    User

    FineBI user who triggers the performance analysis

    Level-1 Resource

    Dataset name as the level-1 resource name if the analyzed content is data

    Dashboard name as the level-1 resource name if the analyzed content is a dashboard

    Level-2 Resource

    Analysis step name in the dataset as the level-2 resource name if the analyzed content is data

    Component name in the dashboard as the level-2 resource name if the analyzed content is a dashboard

    Query ID

    Universally unique identifier (UUID) of each query request

    Query Wait Time (ms)

    Time consumed from a user's click for a query to entering the query preparation stage

    Query Preparation Stage (ms)

    Query execution plan analysis

    If the queried content is direct-connected data, it represents the SQL statement generation stage.

    If the queried content is extracted data, it represents the stage where the extract engine generates the query description.

    Query Execution Time (ms)

    Direct-connected database execution time if the queried content is direct-connected data

    Extraction engine calculation time if the queried content is extracted data

    Data Transfer Time (ms)

    Time spent on returning query results to FineBI

    Such time is 0 for a direct connection engine.

    Memory Calculation Time (ms)

    Time spent on calculating all FineBI codes

    Example: tree engine pagination calculation time and secondary calculation time

    Frontend Render Time (ms)

    Sum of the time spent on frontend JS calculation, rendering, and display after the backend calculation is completed

    Total Query Time (ms)

    Total time from a user's click for a query to the frontend loading completion

    Query Start Time

    Time when a user triggers performance analysis, accurate to seconds

    Viewing Details

    To confirm the cause of a performance issue and get corrective methods, you can check the details of the corresponding query.

    1. View details of each query request online: Click a value of Query ID to view the performance details of this query.

     4.7.png

    2. Export details of all query requests for this object: Click Export Details to export the detail table to the local device.

     4.7.png

    3. The following table lists the fields in the exported Core Info table.

    Column
    Description

    User

    FineBI user who triggers the performance analysis

    Level-1 Resource

    Dataset name as the level-1 resource name if the analyzed content is data

    Dashboard name as the level-1 resource name if the analyzed content is a dashboard

    Level-2 Resource

    Analysis step name in the dataset as the level-2 resource name if the analyzed content is data

    Component name in the dashboard as the level-2 resource name if the analyzed content is a dashboard

    Component Type

    1: group table

    2: cross table

    3. detail table

    4: chart

    5: self-service dataset

    6: filter component

    7: text component

    Query ID

    Universally unique identifier (UUID)of each query request

    Execution Stage

    1. Wait Start Stage

    Stage of queuing due to browser restrictions

    2. Execution Plan Construction

    • Execution Plan Construction: Stage where the FineBI engine constructs the query after receiving a query request

    • Resource Schedule_Execution Plan Construction: Time consumed in resource scheduling at this stage

    3. SQL Generation, Optimization, and Execution

    • SQL Generation and Optimization: Stage where the corresponding query is converted into SQL statements and then optimized

    • Data Connection Creation: Stage where a connection with the database needs to be established before execution

    • SQL Execution: Stage where the database query is executed

    4. Data Transfer (BI Server-User Browser)

    Stage where the results returned by the database are transferred to the BI server

    5. Memory Calculation

    • Memory Calculation: Time spent on calculation by the direct connection engine

    • Memory Calculation During Resource Schedule: Resource scheduling time at this stage

    6. Waiting to End

    Stage where the first component to come out must wait for the last one to come out, which is available if all components in a dashboard are packed into one request

    7. Frontend Render

    • Data Transfer (BI Server-User Browser): Stage where the BI server transfers data to the user's browser

    • Frontend Render

    Fragment ID

    Multiple requests may exist during one query
    For example, data connection creation, SQL execution, and data transfer may be split into multiple requests, requiring separate analyses for each.

    Time Consumption (ms)

    Time consumed for the stage that has a recorded time

    Fragment Content

    Name of the data connection established at the data connection creation stage

    If the SQL statement executed at the SQL execution stage exceeds 30,000 characters, the exported Excel file will contain two sheets, where one contains the details and the other lists the SQL statement exceeding 30,000 characters.

    If there is an inserted temporary table, identifiers like excel insert cost xxx | select * ...   will appear in front of the SQL statement.

    Number of Returned Result Set Rows

    Number of rows in the returned result set at the stages of data transfer, memory calculation, and frontend render

    Number of Returned Result Set Columns

    Number of columns in the returned result set at the stages of data transfer, memory calculation, and frontend render

    Execution Engine Type

    Extracted Data

    Direct-Connected Data

    Start Time

    Time when the Execution Stage starts

    End Time

    Time when the Execution Stage ends

    Exception Info

    Error message if an error occurs at a certain stage, which can be printed

    Query Request Summary

    Total duration of all execution stages during this query

    Start and end time of this query

    Total

    Total duration of all execution stages during all queries

    Start and end time of all queries

    Performance Feedback

    1. If non-super admin users discover template issues, they can click the Performance Feedback button to inform the admin, as shown in the following figure.

     4.9.png

    2. After receiving the feedback message, the super admin can urge the corresponding personnel to optimize the dashboard/dataset based on the feedback.

    4.10.png 

    Notes

    Logic Description

    You can view the following table for the matching and calculation logic of each time (in the core information) and execution stage (in the details).

    Time in Core InfoExecution Stage in DetailsDescription

    Query Wait Time

    Wait Start Stage

    Definition:

    Time consumed from a user's click for a query to entering the query preparation stage, which exists when the query is queued due to browser restrictions

    Generally, if requests sent by six browsers are not returned, the requests sent by seventh and subsequent browsers will be blocked.

    Calculation Logic:

    For 6.0.16 and later versions: [(Time point at which a request is returned - Time point at which a request is sent) - Time point of backend query]

    For 6.0.15 and earlier versions: Service StartTime (BI server time) in the response returned by the request - Start time of the query request (user's browser time) (The time difference may be negative due to possible time zone/time inconsistency between the browser and server.)

    Troubleshooting:

    1. Excessive number of concurrent queries

    2. Exceeding browser concurrency limits

    Query Preparation Stage

    Execution Plan Construction

    Definition:

    Stage where the FineBI direct connection engine constructs the query after receiving a query request
    Stage where the self-service dataset has ETLFlow generated

    Calculation Logic:

    Process where Widget has BICriteria or HyperCriteria generated

    Process where ETLContext has ETLFlow generated

    Troubleshooting:

    Complex dataset/template/component

    SQL Generation and Optimization

    Definition:

    The stage where the query is converted into SQL statements and then optimized.

    Calculation Logic:

    Time of SQL generation and optimization

    /

    Data Connection Creation

    Definition:

    Stage where a connection with the database needs to be established before SQL execution

    Calculation Logic:

    Time when the database connection is established in the database source engine (DataBaseSouceEngine)

    Query Execution Time

    SQL Execution

    Definition:

    Time when the database executes the query or the TCERID execution time

    Since the execution time includes the time of the temporary table, the SQL execution time may be longer than that is shown in the log.

    If the SQL statement executed at the SQL execution stage exceeds 30,000 characters, the exported Excel file will contain two sheets, where one contains the details and the other lists the SQL statement exceeding 30,000 characters.

    If there is an inserted temporary table, identifiers like excel insert cost xxx | select * ... will appear in front of the SQL statement.

    Calculation Logic:

    Time when the database executes the query in the database source engine (DataBaseSouceEngine)

    Troubleshooting:

    1. Database performance issue

    2. SQL statement to be optimized

    Data Transfer Time

    Data Transfer (Database-BI)

    Definition:

    Time spent on returning database query results to the FineBI server

    Calculation Logic:

    Duration of transferring the query result set from the database to the FineBI server + Duration of data compression/data model generation

    It is normal for this time value to be 0 if the above two parts are unavailable.

    Troubleshooting:

    1. Check the server network if the duration of transferring the database query result set to the FineBI server is too long.

    2. Optimize the analysis logic if the data model construction takes too long.

    Memory Calculation Time

    Memory Calculation

    Definition:

    Time spent on calculation by the direct connection engine and on calculation of all FineBI codes

    Calculation Logic:

    The memory calculation time is 0 for self-service datasets. For dashboards, it includes the time spent on the following processes.

    Grouping time: postGroup time

    Sorting calculation time: tree sort

    Page calculation time: groupPage procedure time

    Sorting-based calculation time: treeSortGist

    Tree filter calculation time: groupTreeFilter

    Tree construction time: treeMaker time

    Troubleshooting:

    Optimize the analysis logic if the result set returned by the query is too large.

    Frontend Render Time

    Data Transfer (BI Server-User Browser)

    Definition:

    Time spent by the BI server on transferring data to the user's browser

    Calculation Logic:

    Time point at which the backend ends - Time point when the frontend receives data

    Frontend Render

    Definition:

    Sum of the time spent on frontend JS calculation, rendering, and display after the backend calculation is completed

    Calculation Logic:

    Time point at which the component is finally rendered - Time point when the frontend

    Troubleshooting:

    Excessive number of rows on each page

    Total Query Time

    /

    Total time from a user's click for a query to the frontend loading completion

    Query Start Time

    /

    Time when a user triggers performance analysis

    FAQs

    Problem
    Cause

    The Export Details button is gray out and details cannot be exported.

    Cause: Details cannot be exported when the query is being executed.

    Solution: You can export the details after the query is finished.

    The value of Query Wait Time is negative.

    Cause:

    For 6.0.15 and earlier versions: Query Wait Time = Service StartTime (BI server time) in the response returned by the request - Start time of the query request (user's browser time)

    The time difference may be negative due to the millisecond-level difference caused by the possible time zone/time inconsistency between the browser and server.

    Solution: Update the project to 6.0.16 or later versions and optimize the logic of Query Wait Time.

    The value of Query Execution Time is 0.

    Cause: The query hits the cache and retrieves no data from the database.

    Solution: Modify the cache strategy of each table, and then perform performance analysis.

    The query execution time does not match the time in the backend log.

    Cause:

    The dataset is created using a temporary table. The execution time of the temporary table will be calculated during performance analysis, which is not calculated in the backend log, so the two are inconsistent.

    Solution: It is normal, requiring no solution.

    The total query time is not equal to the sum of time spent on each query.

    Cause:

    A component may trigger multiple SQL statements, while these SQL statements may not be executed in sequence.

    Query execution time = Sum of the time for executing all SQL statements

    Query execution time in the total query time = Time period from the start of executing the first SQL statement to the end of executing the last SQL statement

    The two are not equal, so the total query time may be shorter than the sum of time spent on each query.

    Solution: None

    In the detailed information of a single query, there are multiple SQL Generation and Optimization stages.

    Cause:

    A component may trigger multiple SQL statements.

    For operations such as deduplication, median calculation, and fixed calculation, multiple SQL statements need to be sent because the total value of the parent node needs to be calculated.

    Solution: It is normal, requiring no solution.

     


    附件列表


    主题: System Management
    Previous
    Next
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy