How to determine your hardware and software needs in tableau server?
Determining your hardware and software needs
The following minimum hardware requirements and recommendations apply to all computers running Tableau Server, including physical hardware and virtual machines (VMs):
- Minimum requirements are the minimum hardware your computer must have in order for Setup to install Tableau Server. If your computer does not meet these requirements, the Setup program will not install Tableau Server. These requirements are appropriate for testing and prototyping.
- Minimum recommendations are higher than minimum requirements, and represent the minimum hardware configuration you should use for a production installation of Tableau Server. If your computer meets the minimum requirements, but does not meet these recommendations, the Setup program will warn you but you can continue the installation.
Tableau server is a scalable system that is capable of meeting the demands of the most intense enterprise environments. Proper planning is an important first step, before you settle on to the appropriate hardware configuration and licensing options. At a minimum, you should consider the following details when planning your deployment:
- User count
- User concurrency rate
- Workbook complexity
- User locations
- Database locations
- Database size
- Extract usage-number and size
The user count and user concurrency rate provide an expectation of the volume of requests the server will be handling. This is normally fairly easy to estimate. The user count represents the number of licensed users on tableau server that are able to make requests to the server. User concurrency rates represent the percentage of the licensed users that will be making requests at any single moment. For example, a deployment anticipating 1,000 licensed users with an expected concurrency rate of 10 percent implies that approximately 100 users would be active in the system at any moment.
Workbook complexity is more difficult to anticipate. For this reason, before you plan your server environment it is advisable to identify a core group of report designers, train them, and have them build some initial reports that can serve as a basis for planning. This typically doesn’t require more than a month to accomplish and doesn’t need to involve many staff. Not all requests made to tableau server are equivalent. The server will spend more resources to render dashboards with complex designs and larger volumes of data than dashboards with simple designs and low record counts. Poorly designed dashboards are the most common cause of poor performance in tableau server.
If you have users across many locations or database services deployed across multiple geographies, you may need to have a correspondingly larger number of tableau servers to support local demands if a central service isn’t able to provide the desired response.
The amount of data you have, as well as the type of database sources you are using, must also be considered. Massive data or heavy demand along with a database that wasn’t designed for the analytical loads can create the need for shifting some of the analytical burden to tableau server from the database by utilizing more tableau data extract files.
Minimum Hardware Requirements
These minimum requirements are appropriate for prototyping and testing of Tableau Server and apply to single-node installations and to each computer in a distributed installation.
|Server Version||CPU||RAM||Free Disk Space|
|64-bit Tableau Server||4-core||8 GB||15 GB|
|32-bit Tableau Server||2-core||4 GB||15 GB|
For the requirements:
- Free disk space is calculated after the Tableau Server Setup program is unzipped. The Setup program uses about 1 GB of space.
- Core count is based on “physical” cores. Physical cores can represent actual server hardware or cores on a virtual machine (VM). Hyper-threading is ignored for the purposes of counting cores.
If you cannot install the 64-bit Tableau Server because of hardware requirements, but your computer meets the minimum hardware requirements for the 32-bit version of Tableau Server, you may be able to install the 32-bit version.
Determining what kind of server license to purchase
If you don’t require your data and reporting to be within your company network-behind your firewall, tableau online provides a very convenient option. Tableau software manages the hardware and is responsible for maintaining network performance. It is a very good option if you are comfortable with software-as-a-service (saas) models. The administrator of a tableau online deployment is only directly responsible for controlling the access by setting the permissions for publishing and viewing the data.
If your organization is unable to reside your data in the cloud outside your firewall, tableau servers named-user licensing or core-server licensing allows you to directly control every aspect of tableau servers setup and configuration-inside or outside your company’s firewall. For most large enterprise customers, tableau server offers the most flexibility.
Tableau server named-user licensing is exactly what it sounds like-one license purchased per user-meaning that a license must be purchased for each individual user of the system. If there are ten distinct employees that need access to tableau server, then all ten of them must have a named-user license.
A question that many people ask is whether or not tableau can be deployed on any kind of the multiplexing device so that the individual users can share the per-named-user license. The answer is no. Licenses are transferable but this is not a practical way to split a single named-user license among an active user base. Named-user licenses are also referred to as interactor licenses.
Core licensing allows customers to license tableau server by the server processor core-avoiding the need to purchase licenses for specific named-users. Core licensing provides greater flexibility, allowing for as many users as a server can support from a resource perspective. These licenses are typically sold in multi-core quantities in eight-core multiples. Pricing for core licensing reflects the fact that a single core can support many users. It also provides the option of enabling a special guest account to enable unrestricted access to reports assigned by the administrator.
The number of users you anticipate accessing the system normally determines which licensing model you choose. Smaller entities with low user counts typically find that named-user licensing provides a better value. Tableau online will also appeal to this segment if externally-hosted security is permitted. Large organizations with user counts exceeding 250 normally find core licensing more cost effective.
In some cases mixed licensing models might be desirable since hardware limitations imposed by the core licensing model can be alleviated through the selective use of named-user licensing and/or tableau online.
To set in few steps, the differences between user based licensing and core based licensing is given below:
- User-Based Server License: If your Server Software license is designated as User-Based, the Named Authorized Users is enabled to ensure that such Server Software must not exceed the number of licenses purchased on the Invoice or specified at the time of purchase. If your User-based Server Software license is designated on the applicable Invoice or at the time of purchase as Guest Authorized User enabled, for each such license you may enable an unlimited number of Guest Authorized Users.
- Core-Based Server License: If your Server Software license is designated on the applicable Invoice or at the time of purchase as Core-based, for each such license, an unlimited number of Named Authorized Users may use the Server Software, provided that the total number of Cores residing on all computers where the Server Software is installed does not exceed the permitted number of Cores identified on your Invoice or at the time of purchase. When the Server Software is installed and distributed across multiple computers, all the Cores in each of these computers count toward to the total number of Cores licensed by you and identified on your Invoice or at the time of purchase. “Core” means the processor or execution core contained in the same integrated circuit within a computer’s central processing unit, whether such Cores are virtual or physical. If your Core-based Server Software license is designated as “Guest Authorized User enabled”, for each such license, you may enable an unlimited number of Guest Authorized Users.
Tableau server’s architecture
Tableau has a highly scalable, n-tier client-server architecture that serves mobile clients, web clients and desktop-installed software.Tableau Server architecture supports fast and flexible deployments.
The following diagram shows Tableau Server’s architecture:
Tableau server is comprised of several processes operating together. These may run concurrently, but typically all processes won’t be running all of the time, these include:
- Application server (wg server.exe)
- VizQL server (vizql server.exe)
- Data engine (tde server.exe, tde server64.exe)
- Back grounder (back grounder.exe)
- Data server (data server.exe)
- Repository (postgres. Exe)
The application server handles requests to the web application such as searching, browsing, logging in, generating static images and managing subscriptions. The vizQL server handles the task of loading and rendering requested views. The data engine receives queries made to tableau data extracts present on the server. These queries come from the vizQL processes. To service these queries, the data engine loads the tableau data extract into memory and returns the requested record set. The backgrounder runs maintenance tasks and data extract refreshes. The data server handles requests to tableau data sources. These requests can come from the tableau server or from tableau desktop users. The repository is the postgres database tableau server used to store settings, metadata, usage statistics and workbooks.
With the notable exception of the data engine, all of these processes are 32-bit processors. The data engine has a 64-bit architecture that is detected. All processes except the backgrounder are multi-threaded.
Sizing the server hardware
Tableau server runs well within a variety of hardware configurations. It can be deployed for small organizations with a relatively inexpensive single system. It can also be deployed for large organizations with thousands of users in clusters containing many powerful machines. You get what you pay for in terms of performance from hardware expenditures. The current minimum recommended hardware configuration for tableau server is a single machine with 32-gigabytes of memory and 8-CPU cores. Specific recommendations regarding the size and configuration of your deployment are affected by many factors, including the complexity and size of the dashboards, the data sources, the timing and frequency of usage, the network, and the hardware configuration running the software. For these reasons, specific benchmarks are not provided. Consult with tableau software’s technical staff or a qualified tableau software partner to obtain specific recommendations.
As your deployment grows, you can expand capacity by scaling-up to a more powerful single server, or by splitting the increased demand across multiple physical servers.
A scale-up scenario
To scale tableau server upon a single system, choose a platform that can provide more physical CPU cores and more system memory. At this time, major hardware manufacturers are shipping servers that support up to 32 physical CPU cores and far more memory than tableau server requires. The above ratio of CPU cores to system memory (1-CPU to 4-GB memory) is a good general guideline to follow-plan for more memory, when use of very large tableau data extracts is expected. The data engine will hold data extracts in memory if possible. This improves query performance.
Disk performance is a secondary consideration while planning for tableau server in most cases. The major exception being situations, in which there is heavy use of the data engine with extracts that will not fit into memory. In this case the data engine is forced to go to disk frequently-making faster i/o potentially worthwhile. Otherwise, even with heavy use of the data engine, tableau server does not benefit a great deal from more exotic i/o setups, such as arrays of solid state drives (ssd).
An example of a scale-up configuration for tableau server is a single machine with 24-CPU cores and 96-GB of memory. Based on the current tableau server scalability tests, it’s expected that this server could handle somewhere between 108 and 378 concurrent requests depending on workbook complexity.
A scale-out scenario
To scale tableau server out, multiple servers will need to be provisioned and the server processes will be split across them. In this case, the servers are not required to be configured identically. It is a common pattern to tailor each machine in a cluster to the process running on it. Deploying tableau server on multiple servers will be discussed in greater detail later in this chapter in the section on high availability Environments.
An example of a scale-out configuration for tableau server is a cluster consisting of three machines each configured worth 8-CPU cores and 32-GB of memory. This configuration will provide slightly lower performance than the sample scale-up configuration due to the server communication overhead introduced by the cluster. A fourth machine can be used to run the gateway server. If this is done, any machine running gateway services exclusively is not counted against the tableau server core license.
Regardless of planning to scale-up or scale-out, if you decide to purchase under the core-license model you need to determine the number of cores that you’ll require to purchase. Do this by counting the number of physical cores across all of the machines that will be running tableau server processes excluding servers that are running gateway services only.
Environmental factors that can affect performance
Every server environment is unique, and there are many variables that can impact performance.
Variables affecting performance include:
- Hardware details, such as disk speed, memory, and processor cores
- The number of servers in your deployment
- Network traffic
- Usage factors such as workbook complexity, concurrent user activity, and data caching
- Tableau Server configuration settings, such as how many of each server process you’re running
- Data considerations—such as data volume, database type, and database configuration.
Tableau Server is highly configurable to help you address these variables in your server environment and fine tune server performance. Because of this complexity, there is no single formula for improving server performance. However, there are some basic guidelines you can follow.
There are many other environmental factors that can affect performance of tableau server. Normally the most significant factors are related to network performance, the browser, and resource contention.
Users will be connecting to tableau server either through an internal network or via the public internet. Any poor performing network links in between users and the tableau server can cause erratic behavior of dashboards. Slow loading internal networks are not normally a problem. Spotty internet connections are a common cause of long dashboard load times. If you do experience slow connection speeds, the best solution is to increase the available bandwidth of the connection.
The user experience of tableau server is heavily dependent on Java script. As such, some browsers can cause tableau server to feel unresponsive or sluggish because of their sub-par Java script performance. Internet explorer 7 is a major offender in this case. Chrome, Firefox, Safari and modern versions of internet explorer all have superior Java script performance. Tableau strives to deliver the same experience on all browsers; however, each browser renders web pages differently. If it frequently takes a few clicks to get a quick filter drop-down selection to apply, you might be running into a browser performance issue.
Client-side rendering is supported in Firefox, Chrome, Safari, and Internet Explorer 9.0 and later versions. All of these web browsers include the HTML 5 <canvas> element, which is used by client-side rendering and will improve performance.
Tableau server will not perform well in environments with other resource hungry applications and services running on the same machine. Resource contention can cause slowness in each component process of tableau server. To get the most out of your tableau server license expenditure, ensure that tableau server is the only application running on the machine (s).
Enhance your IT skills and proficiency by taking up the Online Tableau Training.