Workload Management through Node Roles

Using node roles, you can configure where certain types of workloads are processed on your Tableau Server installation. The node roles features allows you to dedicate and scale resources to specific workloads. You can configure node roles for Backgrounder and File Store.

Backgrounder Node Roles

The Backgrounder process runs Tableau Server tasks, including extract refreshes, subscriptions, flow tasks, ‘Run Now’ tasks, and tasks initiated from tabcmd. Running all these tasks can use a lot of machine resources. If you have more than one Backgrounder node in your cluster, you can manage your Backgrounder workload by specifying the type of tasks a Backgrounder can run on a node using the Backgrounder node role feature.

This configuration option is currently available only through TSM CLI commands and is only useful on multi-node clusters. If you have only one node, the Backgrounder is set to run all tasks by default and that cannot be changed.

Using Backgrounder Node Roles

The Backgrounder node role feature is intended to give you more control and governance over where certain type of Backgrounder workloads are processed in your Tableau Server installation and allows you to dedicate and scale resources to specific workloads.

For example, if your deployment is heavy on extract and users are running a lot of extract refreshes or encryption jobs, it could be beneficial to dedicate a node to extract refreshes. Similarly, in the case of subscriptions, if your Tableau Server installation processes a lot of subscriptions and you want to ensure that other jobs do not take resources from subscriptions, then you can dedicate a node to subscriptions. In these cases, you would also want to dedicate other backgrounder nodes to workloads other than extract refreshes or subscriptions.

To support high availability, Tableau recommends having multiple nodes that are dedicated towards a specific workload. For example, if you dedicate a node to extract refreshes, you should also configure a second node to process extract refresh workload. This way if a node dedicated to extract refreshes becomes unavailable, extract refreshes can still be processed by the other node.

Configuration Options

Configuration Jobs
all-jobs (default) All Tableau Server jobs
flows Flow run jobs.
no-flows All jobs except flows.
extract-refreshes

Jobs that are created for:

Incremental refreshes, full refreshes, encryption and decryption of all extracts including extracts that flow outputs create.

subscriptions Subscription jobs
extract-refreshes-and-subscriptions Extract-refreshes, encryption and decryption of all extracts including extracts that flow outputs generate, and subscription jobs.
no-extract-refreshes All jobs except extract-refreshes, extract encryption and decryption of all extracts including extracts created from flow outputs.
no-subscriptions All jobs except subscriptions.
no-extract-refreshes-and-subscriptions All jobs except extract-refreshes, encryption and decryption of all extracts including extracts created from flow outputs, and subscriptions.

For more information on how to use the tsm commands to set the node role, see tsm topology.

Note: Making configurations to node roles require a restart of the server and will require some downtime. For more information, see tsm pending-changes.

License Requirements

Configuring a node to do only a specific type of tasks, like, flows, extract refreshes, and subscriptions, you must have one of the following licenses activated on your Tableau Server:

  • To configure a node to run flows, you must have a valid Data Management Add-on license activated on your server, and have Tableau Prep Conductor running on that node. To learn more about Tableau Prep Conductor, see Tableau Prep Conductor.

  • To configure a node to run all jobs except flows, you must have Tableau Prep Conductor running on the node. Tableau Prep Conductors requires a valid Tableau Data Management Add-on license activated on your server. For more information, see Licensing Tableau Prep Conductor(Link opens in a new window).

  • To configure a node to run extract refreshes, subscriptions, and any combination related to extract refreshes and subscriptions you must have a valid Server Management Add-on license activated on your Tableau Server. If the license expires or is deactivated, you will see an error any time you make a change to the Server configuration. For more information on Server Management Add-on. see About Tableau Server Management Add-on.

Important!
While flows, extract refreshes, and subscriptions can be expensive and resource heavy, they are not the only jobs that may require dedicated resources. In the all jobs group, there are a variety of System jobs that the Backgrounder executes, such as thumbnail generation for workbooks. Make sure that the nodes that run jobs other than extract refreshes, subscriptions, or flows have enough machine resources.

For more information on configuring node roles using TSM commands, see tsm topology set-node-role.

Considerations

There are some rules you must consider when configuring Backgrounder node roles, which are listed below:

  • Only one node role configuration can be set for a node at a time. You cannot configure multiple node roles on a node.

  • To configure a node role, there must be at least one Backgrounder process on that node.

  • If you have only one Backgrounder node, you must configure this node to run all jobs. This is the default configuration and does not require additional licensing.

  • If you have more than one Backgrounder node, combined, they must be configured to handle all jobs. This can be achieved in the following ways:

    • Configure one of the nodes to run all jobs using the all jobs option. This is the easiest and most straightforward way.

    • Using one of the exception configurations on one of the nodes:

      • no-flows
      • no-subscriptions
      • no-extract-refreshes
      • no-extract-refreshes-and-subscriptions

For example, in a cluster where there are three backgrounders, you could have one node configured to run flows, one to run subscriptions and extract refreshes, and one to run all jobs except flows, subscription and extract refreshes.

Note: The ability to specify node roles to run flows, or run all jobs except flows, or run all jobs was introduced in 2019.1.

File Store Node Roles

The Tableau Server File Store controls the storage of extracts. There are three broad categories of workloads that are extract dependent.

Note: Node roles for File Store can only be applied when File Store is running locally on Tableau Server. If you are using Tableau Server External File Store, you cannot configure node roles for your File Store.

Extract Workload Execution Service
Refresh Backgrounder
Query Data Engine
Backup/Restore Backup/Restore

File Store node role management in combination with Backgrounder node role management gives server admins the ability to specialize server nodes to preferentially execute selected workloads to optimize performance of all categories of extract heavy workloads.

It is possible to specialize a node to execute extract query workloads through a topology that has only stand-alone Data Engine nodes. For more information, see Optimize for Query Heavy Environments. However, this is at the expense of extract refresh workloads, which are executed by Backgrounder nodes. With the topology-based isolation approach, extract refresh heavy Backgrounder workloads can get slower as none of the Backgrounder nodes have a File Store and thus all extract refresh traffic goes over the network.

With the File Store Node Role configuration option, it is possible to designate certain server nodes that process extract queries to be preferentially selected from the list of server nodes that can do so. This helps speed up workloads such as backup and extract refreshes by allowing server admins to enable File Store on Backgrounder server nodes, which prevents extract queries from running on these nodes. This feature is useful if you have an extract-heavy query workload and an extract-heavy refresh workload and want to achieve optimal extract query and refresh performance.

Here are guidelines to optimize for extract-refresh and backup/restore workloads.

Start from a topology with specialized Data Engine nodes (see Optimize for Query Heavy Environments).

Topology 1 - Dedicated Data Engine Nodes Topology 1 - Dedicated Data Engine Nodes

  1. Add File Store to Node 0.
    tsm topology set-process -n node0 -pr filestore -c 1
  2. Designate Node 2 and Node 3 to preferentially execute extract-query workloads
    tsm topology set-node-role -n node2, node3 -r extract-queries
  3. Designate Node 0 to preferentially execute extract-refresh workloads.
    tsm topology set-node-role -n node0 -r extract-refreshes
  4. Designate Node 1 to preferentially execute non-extract-refresh workloads.
    tsm topology set-node-role -n node0 -r no-extract-refreshes
  5. Apply pending changes.
    tsm pending-changes apply

Topology 2 Topology 2 - Extra File Store Node

Note: In your Tableau Server deployment, adding File Store roles to existing nodes will temporarily increase network I/O between all File Store nodes while the new File Store is being synchronized. The duration of this operation is dependent on the volume of data on the File Store and the network bandwidth capacity. The status of synchronization can be monitored using the TSM Web GUI. If you are adding more than one File Store to your deployment, it is recommended to add them consecutively and wait for the initial synchronization to complete in between each File Store addition.

Configuration Options

Configuration Jobs
all-jobs (default) All Tableau Server jobs
extract-queries Jobs that are created for extract queries. The nodes selected will run as all-jobs and will prioritize the processing of extract queries.

For more information on configuring node roles using TSM commands, see tsm topology set-node-role.

License Requirements

To configure a node to run extract queries you must have a valid Server Management Add-on license activated on your Tableau Server.

Who can do this

Tableau Server Administrators can configure node roles and activate any required product keys.

Thanks for your feedback! There was an error submitting your feedback. Please try again.