Was this page helpful?
Yes No
Tableau Help > Tableau Server on Windows Help > 

Tableau Server Processes

Tableau Server installs a number of processes that work together to deliver the features that make up Tableau Server.

In this article

Configuring processes

Certain processes listed below cannot be configured: cluster controller and coordination service are installed on every node as part of the base install. They are required on every server node and do not count against a core-based license. Data engine is installed when you install file store, Vizportal, VizQL Server, data server, or backgrounder, and cannot be installed separately. Every node that has an instance of one of those processes will also have a single instance of the data engine process.

The topics Performance Tuning Examples and High Availability describe some of the approaches you can take when configuring processes. High-level status for each process is displayed on the server’s Status page and more detailed information related to some of the processes—such as the background process—is in the Administrative Views topic.

Licensed processes

Some of the processes that are installed as a part of Tableau Server are "licensed" processes. Licensed processes need a valid Tableau Server license in order to run. Other processes that are installed as a part of Tableau Server are not tied to a valid license. This has the following impact:

  • Every licensed process needs to regularly contact the Tableau Server License Manager service that runs on the primary Tableau Server computer to verify they are licensed. If they cannot confirm there is a valid license, for example, if the primary node is not available, the process will not run and Tableau Server may not function properly or reliably.

  • If you have a core-based Tableau Server license, the cores on any node with a licensed process will count against the total count of licensed cores.

The "Licensed" column in the table below identifies those processes that require a valid license, and which impact the count of cores in core-based licenses.

List of processes

For information on log files generated by these processes, see Server Log File Locations.




Performance Characteristics


Application Server

Handles the web application, REST API calls, supports browsing and searching


Only consumes noticeable resources during infrequent operations, like publishing a workbook with an extract, or generating a static image for a view. Its load can be created by browser-based interaction and by tabcmd.



Executes server tasks, including extract refreshes, subscriptions, ‘Run Now’ tasks, and tasks initiated from tabcmd


A single-threaded process where multiple processes can be run on any or all machines in the cluster to expand capacity. The backgrounder normally doesn’t consume much process memory, but it can consume CPU, I/O, or network resources based on the nature of the workload presented to it. For example, performing large extract refreshes can use network bandwidth to retrieve data. CPU resources can be consumed by data retrieval or complex tabcmd tasks.


Cache Server

Query cache


A query cache distributed and shared across the server cluster. This in-memory cache speeds user experience across many scenarios. VizQL server, backgrounder, and data server (and API server and application server to a lesser extent) make cache requests to the cache server on behalf of users or jobs. The cache is single-threaded, so if you need better performance you should run additional instances of cache server.


Cluster Controller

Responsible for monitoring various components, detecting failures, and executing failover when needed


Included in the base install on every node.


Coordination Service

In distributed installations, responsible for ensuring there is a quorum for making decisions during failover


Always installed on the primary node. For server installations with three to five nodes, also installed on the first two worker nodes. For server installations of more than five nodes, also installed on the first four worker nodes.


Data Engine

Creates extracts and processes queries.


The data engine's workload is generated by requests from the VizQL server, application server, API server, data server, and backgrounder server processes. The data engine services requests from most of the other server processes as well. It is the component that loads extracts into memory and performs queries against them, and writes the extracts to the database. The data engine is multi-threaded to handle multiple requests at a time. For more information about CPU and memory usage, see The New Data Engine in Tableau Server.

The data engine is automatically installed when you install file store, VizQL Server, Application Server (VizPortal), Data Server, or Backgrounder. You cannot install Data Engine separately.


Data Server

Manages connections to Tableau Server data sources


Because it’s a proxy, it’s normally only bound by network, but it can be bound by CPU with enough simultaneous user sessions. Its load is generated by browser- and Tableau Desktop-based interaction and extract refresh jobs for Tableau Server data sources.


File Store

Automatically replicates extracts across data engine nodes


A data engine is automatically installed when file store is installed, unless the node already has an instance of data engine.



Tableau Server database, stores workbook and user metadata


Normally consumes few resources. It can become a bottleneck in rare cases for very large deployments (thousands of users) while performing operations such as viewing all workbooks by user or changing permissions. For more information, see Tableau Server Repository.


Search & Browse

Handles fast search, filter, retrieval , and display of content metadata on the server


The process is memory bound first, and I/O bound second. The amount of memory used scales with the amount of content (number of sites/projects/workbooks/datasources/views/users) on the server.


VizQL Server

Loads and renders views, computes and executes queries


Consumes noticeable resources during view loading and interactive use from a web browser. Can be CPU bound, I/O bound, or network bound. Process load can only be created by browser-based interaction. Can run out of process memory.