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