Skip to main content
All docs
V23.2

BI Dashboard Performance

  • 3 minutes to read

This topic describes how the BI Dashboard obtains and processes data and how you can identify and resolve performance issues that may occur during the dashboard lifecycle.

Data Processing Cycle

All operations required to display data in the Dashboard control can be divided into three logical blocks described below.

Data Loading

The Dashboard control loads data from a data source. The performance of the data load operation depends on the data source type, the amount of data in the data source, and the level of data aggregation.

Data Processing

The Dashboard control groups loaded data and calculates summary values before rendering. This operation can be performed at the database level or by the server-side Dashboard control.

Data Rendering

The Dashboard control displays aggregated data in different items (charts, grids, and so on). Rendering performance depends on the amount of aggregated data you want to display in the dashboard. Dashboards are designed to display a small amount of data (which can fit in a single or several screens). The higher the aggregation level, the fewer elements a dashboard displays and the higher the dashboard performance. Refer to the following article for more information about data aggregation in dashboards: Data Shaping.

Data Processing Modes

The performance of the data loading and data processing operations also depends on Data Processing Mode - server or client. Data processing mode determines how the Dashboard control performs data aggregation and filtering operations.

Refer to the following topic for more information about data processing modes supported in different data sources: Data Processing Modes.

Server mode

Data-related operations are executed on the database server side. When a user applies a filter to a dashboard item or groups data, the Dashboard composes a SELECT statement with specific WHERE or GROUP BY clauses and sends the request to the server.

Server mode has the following advantages:

  • Each time the control requests data from the data source, the data source retrieves actual data from the database server.

  • You can request only required filtered and aggregated data from the database server.

  • Server mode has higher performance than client mode when processing a large amount of non-aggregated data in the data query, because SQL servers are optimized for data operations.

Client mode

Data-related operations are executed on the workstation (for WinForms Dashboard Designer or Viewer) or web server side (for Web Dashboard controls). The Dashboard loads a compressed snapshot of aggregated data into a workstation/web server memory. Data compression, proper data grouping, and multi-threading algorithms reduce memory consumption and improve data shaping operation performance.

Client mode has the following advantages:

Client mode is suitable when you work with a small amount of data or when you create complex queries with a high aggregation level. The Dashboard control stores all required data in memory and does not send requests to the database server each time the control requires data.

Troubleshooting

The following section describes how to detect and solve common performance issues that can occur in the WinForms, WPF, and Web Dashboard controls:

Performance Troubleshooting

BI Dashboard Diagnostic Tool

The BI Dashboard Diagnostic Tool allows you to monitor performance of the main DevExpress BI Dashboard’s data processing operations (such as data load and filter operations). You can estimate execution time for each operation or see the number of code calls for the session period.

Bi Dashboard Diagnostic Tool