---
schema_version: "1"
id: a3b7b4e328833997088b0efe06382cd1f36bcfe5f974a95fb3c27e340b645327
title: General Performance Guidelines
collection: tableau
version: next
locale: en-gb
portal_url: https://docs.salesforce.com/tableau/next/en-gb/server-linux/perf_guidelines.md
canonical_url: https://help.tableau.com/v0.0/server-linux/en-gb/perf_guidelines.htm
source_site: help.tableau.com
content_type: documentation
content_hash: e1b5648fdccd19db7174c0817ba1a54bd43f1ce132f48e913284d00370bfe980
description: General performance guidelines for hardware, configuration, and antivirus on Tableau Server.
---
[Skip to main content](#main-content)

# 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 licence, consider running the repository as an external database.

If your organisation 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 visualisations from Tableau Server.

For more information, see [Tableau Server External Repository](https://help.tableau.com/current/server-linux/en-gb/server_external_repo.htm).

## 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](https://help.tableau.com/v0.0/server-linux/en-gb/adminview_backgrnd.htm) 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](https://help.tableau.com/v0.0/server-linux/en-gb/cli_data-access.htm#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](https://help.tableau.com/v0.0/server-linux/en-gb/cli_configuration-set_tsm.htm#querycachesizeadaptiveinit).

**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](https://help.tableau.com/v0.0/server-linux/en-gb/cli_configuration-set_tsm.htm) 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](https://help.tableau.com/v0.0/server-linux/en-gb/perf_tuning.htm) 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.