Sunday 23 August 2015

Tableau Server Processes

There are Tableau Server processes whose default configuration you can change to achieve different results. The topics Improve Server Performance and High Availability describe some of the approaches you can take. 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.
Note: 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. File store is installed when you install data engine and cannot be installed separately. Every instance of a data engine process will always have one instance of the file store process present as well.
Architecturally, the 64-bit version of Tableau Server uses native, 64-bit processes; the 32-bit version of Tableau Server uses 32-bit processes. The exception is the data engine. If the 32-bit version of Tableau Server is installed on a 64-bit operating system, the 64-bit version of the data engine process is used.
For information on log files generated by these processes, see Server Log File Locations.
Process
File Name
Purpose
Multi-Threaded?
Performance Characteristics
API Server
wgserver.exe
Handles REST API calls
Yes
Unless you are using REST APIs for critical business processes, this service can be down without impacting the overall health of Tableau Server.
Application Server
vizportal.exe
Handles the web application, supports browsing and searching
Yes
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.
Backgrounder
backgrounder.exe
Executes server tasks, including extract refreshes, ‘Run Now’ tasks, and tasks initiated from tabcmd
No
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
redis-server.exe
Query cache
No
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
clustercontroller.exe
Responsible for monitoring various components, detecting failures, and executing failover when needed
n/a
Included in the base install on every node.
Coordination Service
zookeeper.exe
In distributed installations, responsible for ensuring there is a quorum for making decisions during failover
n/a
Included in the base install on every node.
Data Engine
tdeserver64.exe
tdeserver.exe (32-bit)
Stores data extracts and answers queries
Yes
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. Memory consumption is primarily based on the size of the data extracts being loaded. The 64-bit binary is used as the default on 64-bit operating systems, even if 32-bit Tableau Server is installed. The data engine is multi-threaded to handle multiple requests at a time. Under high load it can consume CPU, I/O, and network resources, all of which can be a performance bottleneck under load. At high load, a single instance of the data engine can consume all CPU resources to process requests.
Data Server
dataserver.exe
Manages connections to Tableau Server data sources
Yes
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
filestore.exe
Automatically replicates extracts across data engine nodes
n/a
Installed with data engine (cannot be installed separately). A file store process will always be present if there are one or more data engine processes installed.
Repository
postgres.exe
Tableau Server database, stores workbook and user metadata
n/a
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
searchserver.exe
Handles fast search, filter, retrieval , and display of content metadata on the server
Yes
The process is memory bound first, and IO 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
vizqlserver.exe
Loads and renders views, computes and executes queries
Yes
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.


No comments:

Post a Comment