Administrators can enable data acceleration for specific workbooks to improve their performance.
Loading a published workbook or dashboard is a two-step process:
- query: fetching the data needed after connecting to the underlying data source.
- rendering: performing visual rendering such as layout, drawing shapes, assigning colours and so on.
The time it takes to load a workbook depends on the combined time it takes to do these two steps. Data acceleration makes the query step faster in many cases. Thus, an accelerated workbook loads faster because Tableau Server precomputes and fetches the workbook's data in a background process. However, not all workbooks will benefit from data acceleration. Data acceleration only improves the performance of the query step, so a workbook may not load observably faster if:
- its query step is already fast and is not a performance bottleneck on load.
- it uses transient functions, such as now() or today().
- it relies on user-based functions to provide different results for different users. Even though Tableau Server could precompute results for all users, doing so could significantly increase CPU, memory and storage usage.
Supported in This Release
To precompute the data, Tableau Server needs to connect to the data source in the background without requiring user interaction. Therefore, data acceleration is only supported for workbooks with embedded connection credentials.
Once enabled, data for workbooks with embedded extracts is automatically accelerated whereas workbooks with published and live data sources need to be added to an acceleration schedule.
Not Supported in This Release
The following are currently not supported:
- Workbooks that use encrypted extracts
- Workbooks that prompt user for credentials
- Workbooks that fetch data from federated data sources.
- Data blending is partially supported but data queried against secondary data sources is not accelerated.
Enabling Workbooks for Data Acceleration
Workbooks are not enabled for acceleration by default.
The easiest way to configure data acceleration is to use the
accelerate_workbooks.py Python script that you can download from the Tableau Data Acceleration Client(Link opens in a new window) GitHub repository.
Alternatively, you can use the Tableau Server REST API. For more information, see Data Acceleration(Link opens in a new window) in the Tableau Server REST API documentation.
Scheduling Data Acceleration
To keep the data of accelerated workbooks that use published or live data sources fresh, Tableau Server needs to run the background precomputation periodically. This is achieved by defining a schedule for the precomputation (similar to scheduling extract refreshes). A schedule of type
DataAcceleration should be used for this purpose.
User Context for Precomputation
Precomputation for accelerated workbooks is performed with the user context of only one user. This is either:
- the owner of the workbook (if there are no user filters in the workbook or data source or if there are user filters on the data source but the data source is a published data source). -or-
- the user that was selected for thumbnail generation the last time workbook was published (if there are user filters on the workbook and the data source is not a published data source).
Cost of Data Acceleration
Enabling this feature will increase the computation load and number of jobs on Tableau Server backgrounder processes because data acceleration fetches the required data from data sources in a background process. A background job to precompute the data of an enabled workbook is run if any of the following happen:
- The workbook is republished (this includes the web-authoring save).
- An extract used by the workbook is refreshed.
DataAccelerationscheduled task associated with the workbook runs.
Administrators should consider those costs before enabling Data Acceleration for many workbooks, or scheduling acceleration jobs too frequently.
- Workbooks that are being heavily edited and republished may not be suitable because each republish triggers a precomputation. We recommend acceleration for workbooks that are published for consumption.
- If a workbook uses multiple extracts then their refresh will trigger precomputation of the data. Thus, frequent extract refreshes for enabled workbooks could cause a spike in backgrounder job load, especially given that by design data acceleration jobs are run after the successful extract refresh.
- The precomputed data for workbooks using embedded extracts is stored on disk, and the data for published and live data sources is kept in the cache server. Thus, acceleration may increase the disk storage or cache memory usage of the server.
Note: When using this feature, it is recommended to increase the size of the Tableau Server external cache to 2 GB or larger. To view your current Tableau Server external cache size setting, type:
tsm configuration get -k redis.max_memory_in_mb.
To set the Tableau Server external cache size to 2 GB, type:
tsm configuration set -k redis.max_memory_in_mb -v 2048 and then type
tsm pending-changes apply. For more information, see tsm configuration set Options(Link opens in a new window).