Recommended Baseline Configurations
Determining the topology (number of nodes, number of Tableau Server processes) of your Tableau Server deployment requires you to consider these variables: your environment, sources of data and management to provide self-service data access, workload, and usage. However you may not have enough information about these variables when you deploy Tableau Server for the first time. This topic describes three baseline architectures that can be used as starting points for your Tableau Server installations.
Validating your server deployment plan
Before you commit to installing a new Tableau Server deployment in your organization, be sure to carefully evaluate your options. For most organizations, Tableau Cloud will provide a more reliable, performant, and cost-effective analytics solution when compared to self-hosting Tableau Server. For information about the viability of Tableau Cloud for your organization, review this blog post, Should I move my analytics to the cloud?(Link opens in a new window)
Already running Tableau Server and want to migrate to Tableau Cloud? See Tableau Cloud Manual Migration Guide(Link opens in a new window).
If you have determined that you must self-host Tableau Server, we recommend following the prescribed Tableau deployment in the Enterprise Deployment Guide(Link opens in a new window) (EDG). The EDG presents a fully-tested and supported, performant, scalable, secure reference architecture based on a tiered data network. Moving forward, we are committed to investing in the EDG reference architecture to ease feature rollouts and improve upgrade scenarios.
Hardware recommendations for production installations
The hardware recommendations for production Tableau Server installations below are based on the hardware that the Tableau team uses to test Tableau Server scalability. We suggest that you use these recommendations as starting points for your production deployments. For Proof of Concept (PoC) deployments, we recommend you use Tableau Cloud. For more information, see Minimum installation hardware requirements.
Install Type |
Processor |
CPU |
RAM |
Free Disk Space |
---|---|---|---|---|
Single node |
|
8 cores (16 vCPUs), 2.0 GHz or higher |
Version 2022.3 and later:
Version 2021.4.0 to version 2022.1.x:
Version 2021.3.x and earlier:
|
500 GB - 1 TB |
If you are adding Tableau Prep Conductor to your Tableau Server installation, we recommend you add a second node and dedicate this to running Tableau Server Prep Conductor. This node should have a minimum of 4 cores (8 vCPUs), and 16 GB of RAM. | ||||
Multi-node and enterprise deployments |
Contact Tableau for technical guidance. Nodes must meet or exceed the minimum hardware recommendations, except:
|
Note: For deployments using virtual machines, Tableau recommends dedicated CPU affinity. 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. Typically 2 vCPUs = 1 physical core for Tableau Server. For example, for AWS installations, the 4 core minimum recommendation is equivalent of 8 AWS vCPUs. Similarly, follow the best practices provided by your virtual infrastructure provider to make sure Tableau Server has access to the appropriate compute, memory, and data resources. If you are installing Tableau Server in a virtual environment or a cloud-based deployment, see Virtual Machines and Public Cloud Deployments section later in this topic.
Estimating Disk Space
There are several factors that affect disk space requirements, including whether or not you will be publishing extracts, flows, and the number of workbooks to Tableau Server. For more information see Disk Space Requirements.
Baseline Configurations
-
Two Node Installation - Specialized for extract heavy environments
- Two Node Installation - Specialized for flow environments
Single Server Installations
Recommendations
We recommend using a single machine to install Tableau Server for initial deployments with limited usage and are not mission critical. Single Server installations can also be expanded to multi-node installation as your workloads grow.
Here are some instances when a single server installation may not be right for you:
-
If your system is considered mission critical and needs to be highly available. High availability is about minimizing the system downtime. It is achieved by eliminating single points of failure, and having a reliable failover mechanism. Tableau Server requires a minimum of a three-node configuration to provide redundancy and eliminate the single points of failure. This is one of the primary reasons to move to a multi-node configuration.
-
If you have a lot of active users and a lot of extract refreshes, the two types of loads may be competing for the same resources on the machine. In such a scenario, a single server configuration may not be the right option as you may need additional specialized nodes to isolate the difference workloads.
Note: Active users represent the interactive, concurrent requests made to Tableau Server, including consuming dashboards on a laptop or mobile device, web authoring, and connecting to and querying Published Data Sources.
Server Configuration
-
Stand-alone single server node with all the processes installed on one machine.
-
Below are the number of processes for an 8 core machine:
-
VizQL Server: Set to 2 instances (Number of physical cores divided by 4, up to a maximum of 4).
-
Backgrounder, Cache Server, and Data Server: Set to 2 instances.
-
All other processes, only one instance of the process is installed, regardless of hardware.
-
Note: One instance of Tableau Prep Conductor is automatically configured with Backgrounder, when you have the Data Management Product Key activated on your server. However, It is recommended that you have a dedicated node for Tableau Prep Conductor. If you plan to have flows on your Tableau Server, we recommended you use two or more nodes and dedicated one of these nodes to run only flows. The example configuration described above does not include Tableau Prep Conductor since it is a single node server.
Multi-Node Installations
Running Tableau Server on more than one machine is called a multi-node installation, or a cluster. There are various reasons why you might want to have a multi-node installation. For example, you may have heavy extract environments which can mean dedicating some hardware resources to Backgrounder process. For systems that have high availability requirements, you need a multi-node environment that has at least three nodes.
Two Node Installation - Specialized for extract heavy environments
Recommendations
Start with a two node configuration when the following conditions apply to you:
-
Extract heavy environment: Majority of your data sources are extracts. Having just a few, extremely large extracts could put your deployment in this category, as would having very many small extracts.
-
Frequent extract refreshes: Refreshing an extract is a CPU-intensive task. Deployments where extracts are frequently refreshed (for example, several times a day during business hours) are often helped by more emphasis on the background process, which handles refresh tasks.
Important: Two-node configurations do not meet the minimum requirements for high availability. If you need a system that is highly available, see High Availability Installations (HA).
Server Configuration
-
On the initial node, install all the processes except for the backgrounder. Below is the number of instances of the processes for an 8 core machine:
-
VizQL Server: Set to 2 instances. (default calculation: Number of physical cores divided by 4, up to a maximum of 4).
-
Cache Server, and Data Server: Set to 2 instances. One instance of Ask Data is automatically configured on the node that has Data Server.
-
Index and Search Server : Index and Search Server memory can be configured to improve performance by using the
indexandsearchserver.vmopts
TSM configuration option. For more information, see tsm configuration set Options. -
All other processes, only one instance of the process is installed, regardless of hardware. One instance of Interactive Microservice Container is installed on a node that has Application Server enabled, and one instance of Non-Interactive Microservice Container is installed on a node that has Backgrounder enabled.
-
-
Isolate backgrounder on the additional node. To calculate the minimum number of backgrounder processes to run on this node, divide the computer’s total number of physical cores by 4. To calculate the maximum number, divide the computer's total physical cores by 2. In the example shown above, both the nodes are on machines with 8 physical cores. When you install the backgrounder, Tableau Server automatically installs one instance of the Data Engine.
Note: This configuration assumes that you do not have Tableau Prep Conductor enabled on your Tableau Server. If are using Tableau Prep Conductor to schedule and manage flows, and have an extract heavy environment, we recommend that you have at least 3 nodes and use the 3 node configuration described later in this topic.
As you monitor and gather data about the performance and usage, you can fine tune and configure the number of instances for these processes. For example, on the node dedicated to running backgrounder you can initially set the number of backgrounders to the recommended minimum (total number of cores divided by four), and increase the number of backgrounder processes later if you find that:
-
Extract refreshes are taking a long time to complete
-
Subscriptions and alerts are not completing on time
For dedicated backgrounder nodes, depending on workload and system resources, you may be able to increase the number of backgrounder instances beyond the maximum recommended above. Increasing backgrounder instances on the node can impact node functionality in positive and negative ways. You are responsible for carefully monitoring RAM and CPU resources, and other aspects of Tableau Server to determine the best configuration for your environment.
For more information on performance tuning, see Performance Tuning topic.
Two Node Installation - Specialized for flow environments
Start with a two node configuration if you are planning to publish, schedule, and manage flows on your Tableau Server.
Important: Two-node configurations do not meet the minimum requirements for high availability. If you need a system that is highly available, see High Availability Installations (HA).
Server Configuration
-
On the initial node, install all the processes. Below is the number of instances of the processes for an 8 core machine:
-
VizQL Server: Set to 2 instances. (default calculation: Number of physical cores divided by 4, up to a maximum of 4).
-
Cache Server, and Data Server: Set to 2 instances. One instance of Ask Data is automatically configured on the node that has Data Server.
-
Backgrounder: Minimum 2, maximum 4. The diagram above shows the maximum for an 8 core node. Tableau Prep Conductor is automatically configured one the node where you have backgrounder installed. On the initial node, set the Backgrounder node role to run all job types including flows using the
tsm topology set-node-role
tsm configuration. For more information, see tsm topology set-node-role -
Index and Search Server: Index and Search Server memory can be configured to improve performance by using the
indexandsearchserver.vmopts
TSM configuration option. For more information, see tsm configuration set Options. -
All other processes, only one instance of the process is installed, regardless of hardware. One instance of Interactive Microservice Container is installed on a node that has Application Server enabled, and one instance of Non-Interactive Microservice Container is installed on a node that has Backgrounder enabled.
-
-
Isolated the backgrounder on the additional node to run only flows. Use the
tsm topology set-node-role
tsm configuration to configure this setting. For more information, see tsm topology set-node-role
Note: If you have both a heavy extract environment, and schedule and manage flows on your server, we recommend that you use the 3 node configuration described below.
High Availability Installations (HA)
Recommendations
A highly available installation of Tableau Server is a distributed installation that is designed to maximize the availability of Tableau Server. High availability basically means that the system is available with minimal amount of downtime. To build in redundancy for HA related items such as repository, file redundancy, and failover, you need a minimum of three nodes. The tolerance for downtime will vary for each organization and depends on the SLAs you have established in your organization.
High availability is achieved by eliminating single points of failure and detecting failures and setting up a reliable failover system. HA in Tableau Server is mainly achieved by:
-
File redundancy with multiple File Store/Data Engine instances.
-
Active/Passive Repository across two nodes.
- Index and Search Server across all the three nodes.
-
Adding an external load balancer to make sure your installation is robust to Gateway failures and make sure that requests only get routed to functioning Gateway processes.
Server Configuration
Three-node configuration:
-
To build in redundancy, you need to add additional nodes to host instances of the repository and File Store/Data Engine processes. You can add instances of other processes, including multiple instances of a process on a node.
-
To build redundancy for the type of backgrounder jobs, have one of the nodes (initial node in this example) run all type of jobs. Backgrounders run all types of jobs by default. On one of the additional nodes, set the backgrounder to run only flows, and the other additional node to run all jobs except for flows.
-
The successful functioning of Tableau Server depends on a properly functioning Coordination Service. For server installations of three or more nodes, we recommend that you add additional instances of the Coordination Service by deploying a new Coordination Service ensemble. This provides redundancy and improved availability in the event that one instance of the Coordination Service has problems. For more information, see Deploy a Coordination Service Ensemble .
-
Index and Search Server memory is added to all three nodes for redundancy and can be configured to improve performance by using the
indexandsearchserver.vmopts
TSM configuration option. For more information, see indexandsearchserver.vmopts. -
To reduce the system’s vulnerability, you can run multiple gateways and additional instances of some of the server processes. The fewest number of computers required to achieve this configuration is three.
-
The repository has also been moved from the initial node to one of the additional nodes, and a second, passive instance has been added to the other new node.
-
One instance of Interactive Microservice Container is installed on a node that has Application Server enabled, and one instance of Non-Interactive Microservice Container is installed on a node that has Backgrounder enabled.
NOTE: In certain circumstances you may want to limit the processes running on your initial node. Reasons for doing this include wanting to run as few processes as possible on the node to limit processing requests on the node. You might also remove licensed Tableau Server processes from the node if you have a core-based license and do not want the initial node cores to count against your core use. For more information on Tableau Server licensed processes, see Tableau Server Processes from the node.
Virtual Machines and Public Cloud Deployments
In general, the considerations and recommendations described in this topic apply to virtual environment and cloud deployments.
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. Typically 2 vCPUs = 1 physical core for Tableau Server. For example, for AWS installations, the 4 core minimum recommendation is equivalent of 8 AWS vCPUs.
For more information on cloud-based deployments, see:
Beyond Baseline Configurations
If you are planning a system whose configuration is beyond the limits documented here, contact Tableau Professional Services(Link opens in a new window).
High VizQL Peak Usage Considerations
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).
Disaster Recovery Considerations
While HA configurations reduce downtime, you may still encounter failures in case of a disaster or hardware failures. In addition to the above considerations, you should evaluate the importance of disaster recovery in your organization and plan for a deployment that helps you meet your disaster recovery goals and objectives.
When planning for disaster recovery (DR) in your Tableau environment, there are two main factors to consider:
-
Recovery Time Objective (RTO), a measure of how much downtime your business can accept before a full recovery.
-
Influences how often you restore your backups to an alternative cluster and the amount of infrastructure investment.
-
-
Recovery Point Objective (RPO), a measure of how much data loss your business can tolerate.
-
Influences how often you will need to take backups of your system.
-
For Tableau Server the RPO cannot be shorter than the time it takes to complete a full backup of your server.
-
The diagram below illustrates how to plan for a range of RTO requirements:
Tableau Server Scalability
These baseline configurations may not be enough as your needs change and grow, and you might need to scale your Tableau Server beyond these configurations. Like other enterprise platforms, Tableau Server scales up by adding processor, memory, and disk to existing node, and scales out by adding more nodes to a cluster. However, scalability and performance are heavily dependent on external systems and user activity. The configuration of your Tableau Server can be different depending on your requirements and variables:
For more information on Tableau Server scalability and the variables affecting scalability, see Tableau Server Scalability whitepaper.