General Performance Guidelines

Hardware and Software

Add more cores and memory: Regardless of whether you’re running Tableau Server on one computer or several, the general rule is that more CPU cores and more RAM will give you better performance. Make sure you meet the Tableau Server recommended hardware and software requirements.

If you are running Tableau Server in a virtual environment, use your VM host's best practices for vCPU allocation in relation to the number of physical CPU cores on the VM host.

External repository

For optimal performance for Tableau Server we recommend isolating the repository on a dedicated node in your deployment. If you have an Advanced Management license, consider running the repository as an external database.

If your organization has a peak load of more than 1000 VizQL sessions per hour, we also recommend running Tableau Server on Linux. In this scenario, VizQL sessions refer to any user actions that display or generate visualizations from Tableau Server.

For more information, see Tableau Server External Repository(Link opens in a new window).

Configuration

Schedule refreshes for off-peak hours: Backup tasks tend to stall other background tasks until the backup is completed. Use the Background Tasks for Extracts administrative view to see your refresh and backup task schedules. Your refresh tasks should be scheduled for off-peak hours that don't overlap with your backup window.

Look at caching: Caching helps Tableau Server respond to client requests quickly, especially for views that connect to live databases. Use the tsm data-access caching list command to confirm the caching frequency is set to low (this is the default).

Tableau Server uses a query cache to store query results. The size of the query cache is automatically set based on the amount of available system memory, as long as you have not set it manually. The query cache consists of the logical query cache, the metadata cache, and the native query cache. The default settings are suitable for most situations but it is possible to manually configure them using the TSM command line interface. The TSM settings are: native_api.InitializeQueryCacheSizeBasedOnWeights, native_api.QueryCacheMaxAllowedMB, native_api.LogicalQueryCacheMaxAllowedWeight, native_api.MetadataQueryCachMaxAllowedWeight, native_api.NativeQueryCacheMaxAllowedWeight, and native_api.QueryCacheEntryMaxAllowedInPercent. For more information, see native_api.InitializeQueryCacheSizeBasedOnWeights.

Consider changing two session memory settings:

  • VizQL session timeout limit: The default VizQL session timeout limit is 30 minutes. Even if a VizQL session is idle, it is still consuming memory and CPU cycles. If you can make do with a lower limit, use tsm configuration set Options to change the vizqlserver.session.expiry.timeout setting.

  • VizQL clear session: By default, VizQL sessions are kept in memory even when a user navigates away from a view. This reduces the need to rebuild views but consumes more session memory. To free up memory, you can end sessions when users leave views by changing the value of the vizqlserver.clear_session_on_unload setting to true. (Regardless of this setting, sessions for the Tableau Mobile app are always kept in memory, improving mobile performance.)

Assess your process configuration: Tableau Server is divided into six different components called server processes. While their default configuration is designed to work for a broad range of scenarios, you can also reconfigure them to achieve different performance goals. Specifically, you can control on which computers the processes run and how many are run. See Performance Tuning for general guidelines for one-, two-, and three-node deployments.

Server Resource Manager (SRM)

The Server Resource Manager (SRM) monitors the system resources each Tableau process is using as well as tracking the total usage of Tableau Server on the system. If either a specific process or the product as a whole takes up too much system resources, SRM can notify the processes to free the resources or restart those processes.

The thresholds that determine when SRM will notify or restart a process are set in the SRM configuration options. The Tableau development team has set the default settings based on internal testing and don’t recommend you change these settings directly.

If you are seeing excessive system resource usage, we recommend that you contact Tableau Support to help determine if these configuration options need to be modified to solve the problem or issue that you are seeing.

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!