Was this page helpful?
Yes No
Tableau Help > Tableau Server for Windows Help > 
Manage Server > Performance > Tuning > Performance Tuning Examples

Performance Tuning Examples

This topic lists example process configurations for Tableau Server installations with one, two, and three nodes. Use these process configurations as a starting point when tuning the number of server processes in your installation of Tableau Server.

One-node example: Balanced

This example shows a 64-bit, 8+ core, 16+ GB system configured for heavy extract usage.

For this configuration, the Process Status table on the Server Status page would look like this:

Configuration notes

  • The primary server runs two VizQL Server processes, two Cache Server processes, and two Data Server processes. These are the recommended values and are the defaults from installation.

  • As a general rule, run a Cache Server process for every VizQL Server process on the node.

  • Calculate the minimum number of Backgrounder processes to run by dividing the computer's total number of cores by 4. To calculate the maximum number, divide the computer's total cores by 2.

  • Both the Backgrounder and Data Engine processes are CPU-intensive.

  • Schedule extract refreshes for off-peak times to help the VizQL Server, Application Server, Data Engine, and Backgrounder processes to not compete for system resources.

Two-node example: Optimized for heavy extract usage

This example shows a possible configuration for a two-node Tableau Server deployment that handles heavy extract usage. Both nodes are 64-bit, 8+ core, 16+ GB systems.

Note that the VizQL Server, Application Server, Data Server, and Data Engine processes on the primary node are isolated from the background processes, which are running on the worker node.

The Process Status table for this configuration would look like this:

Configuration notes

  • The primary node runs two VizQL Server processes, two Cache Server processes, and two Data Server processes.

  • As a general rule, run a Cache Server process for every VizQL Server process on the node.

  • Isolate the Backgrounder processes by configuring them to run on the worker node. To calculate the minimum number of Backgrounder processes to run, divide the computer’s total number of cores by 4. To calculate the maximum number, divide the computer's total cores by 2.

  • Isolate the Backgrounder processes from the VizQL Server, Application Server, Data Server, and Data Engine processes.

Two-node example: Optimized for user traffic

This example shows the configuration for a two-node deployment with light extract usage and heavier viewing. Both nodes are 64-bit, 8+ core, 16+ GB systems.

The Process Status table for this configuration would look like this:

Configuration notes

  • The primary node runs two VizQL Server processes, two Cache Server processes, and two Data Server processes.

  • As a general rule, run a Cache Server process for every VizQL Server process on the node.

  • Isolate the Backgrounder processes by configuring them to run on the worker node. To calculate the minimum number of Backgrounder processes to run, divide the computer’s total number of cores by 4. To calculate the maximum number, divide the computer's total cores by 2.

  • Run Data Engine processes on both nodes to split view requests between the two nodes. In a deployment where extracts are refreshed infrequently, the Data Engine and Backgrounder processes can be on the same node.

  • If extract refresh jobs will be run only during off hours, you can add Backgrounder processes on each node to maximize the number of parallel jobs that can run at one time.

Three-node example: Optimized for a balance between extracts and user traffic

A configuration of three nodes or more is recommended to achieve the best performance when you have a high amount of extract refreshing and usage, and a high number of concurrent users. In this example, all computers are assumed to be 64-bit, 16 core, 16+ GB systems.

The Process Status table for this configuration would look like this:

Configuration Notes

  • For this configuration, 16 cores are recommended for each node.

    Run two VizQL Server processes, two Cache Server processes, and two Data Server processes on the nodes that are not running Backgrounder processes.

  • As a general rule, run a Cache Server process for every VizQL Server process.

  • The Backgrounder processes are on their own node so that they do not compete for resources with the other processes. Because this node is dedicated to Backgrounder processes and they might consume 100% of the CPU resources, the recommended number of Backgrounder processes is the number of cores divided by 2. However, for a more extract heavy environment, you might want to increase the number of Backgrounder processes to equal the number of cores for the node.

  • Run Data Engine processes on the primary node and on the worker node that is not running Backgrounder processes. This allows Tableau Server to split view requests between the two nodes.

  • The user loads for the Application Server and Data Server processes can typically be handled by a single instance of each process. However, you can configure two of each process to provide redundancy.

  • Under most conditions, the primary Data Server processes and the Data Engine processes will not be a bottleneck for the system’s overall throughput as long as sufficient CPU cycles exist for them. To increase viewing capacity, add worker nodes and run dedicated VizQL Server processes on them. To increase capacity for refreshing extracts, add worker nodes and run dedicated Backgrounder processes on them.