Tableau Server
Sizing & Scaling
Best practices and considerations when sizing a
server for implementation or Rapid Start
Larry Hill, Principal Solution Engineer
Tableau | larry.hill@salesforce.com
How to Engage
❑ Engage Q&A & answer the Polls
❑ View Email and Resources
❑ Complete Survey
Agenda
Planning /Discovery / Rapid Start
Architecture overview
Scaling
Sizing Hardware
Load Testing
Footer
Poll #1
What type of Partner are you?
Have you implemented Server?
Do you hold any Tableau
Certifications?
Planning
Doing the discovery
Planning / Discovery (Rapid Starts as well)
Outlining specific business requirements
Identify users
● Define the user types (roles)
● What kind of access they need
● How many total users and
● Percentage of concurrent users
Estimate load on server
● How large and wide are the Data
● How often does the data refresh
● Estimate peaks and valleys
● Stakeholder expectations
Architecture
overview
Services that affect Sizing
Tableau Processes
Tableau Server has over a dozen services, of which, several are configurable
Go to link to see how all Tableau Services work together
https://public.tableau.com/profile/technical.product.marketing?_fsi=eVTz1c7o#!/vizhome/TableauServerProcessScenarios/ServerArchitectureFlow?publish=yes
Tableau Services
VizQL
Responsible for everything related to viz
generation and interaction, including web
authoring.
● Each VizQL process should have at
least 4 cores available to use.
● Running on a machine with 16 cores is
ideal.
● Ideally, no more than 4 VizQL servers
per node - testing indicates diminishing
returns of throughput and service
degradation past that point.
Tableau Services
Backgrounder
Responsible for scheduling jobs that are
handled without direct user interaction.
These include refreshing extracts,
sending subscriptions, checking data
driven alerts, refreshing flows, and
performing Server clean up tasks.
Tableau Services
Data Engine
The Data Engine process is involved in all
extract related tasks on Tableau Server.
Tableau Services
Data Server
The Data Server manages connections
to Tableau Server data sources.
Tableau Services
Repository
Acts as Tableau Server’s internal database
for metadata. Almost every action in
Server involves the Repository, and it is a
key component in creating a highly
available environment.
Tableau Services
Cache Server
Responsible for maintaining and
managing the External Query Cache.
Tableau Services
Cluster Controller & Coordination Svc
The Coordination Service creates a
quorum for Tableau Server to make more
informed decisions, particularly around
when to failover from the active to the
passive Repository.
Tableau Services
Search and Browse
Tableau recommends to configure high
availability for the Search & Browse
process, configure the process on
multiple nodes. And, to plan for memory
needs as the system grows
Scaling
Baseline configurations to
customization
Definitions
Node/Machine/Box: A single computer, either physical or virtual. Terms are generally
interchangeable, though node most often refers to a machine with Tableau Server installed
Tableau Server Cluster: A collection of machines that are linked together to create a
multi-node installation
Environment: May refer to a Tableau Server installation, or include other infrastructure
elements as well (load balancer, database, AD server, etc.)
Licensed: A node counts towards the total licensed core count if it has one or more licensed
processes configured. All (physical) cores are counted regardless of the number of processes.
Footer
Definitions
Performance – The speed with which a single process can be completed, assuming no
contention for resources
Generic Scalability: The ability for a system to handle a growing amount of work
Tableau Specific Scalability: Architecting a Tableau Server environment to handle a growing
amount of simultaneous requests
Availability: The ability of a solution to be resistant to component failures. Increasing the
availability of a solution will increase the complexity and total cost
Footer
Definitions
Scale Up: Adding more resources (CPU, RAM, etc) to a single server
Scale Out: Adding more resources (CPU, RAM, etc) by adding more servers in a cluster
Multi-Process: Adding more throughput by running multiple instances of a process or
service. These can be on a single server or can be distributed across multiple servers.
Multi-Threaded: Within a process, being able to perform multiple tasks simultaneously
across multiple CPUs
Baseline Configurations
Single Server
We recommend using a single machine to install your Tableau
Server for initial deployments with limited usage and are not
mission critical.
Single Server installations can also be expanded to multi-node
installation as your workloads grow.
Where not ideal:
● High Availability
● Lots of active users and extract refreshes*
Baseline Configurations
Two Node - Specialized for Extract Heavy Environments
On the initial node, install all the processes except for
the backgrounder.
Isolate backgrounder on the additional node.
● To calculate the minimum number of backgrounder
processes to run on this node, divide the computer’s total
number of physical cores by 4. To calculate the maximum
number, divide the computer's total physical cores by 2.
Baseline Configurations
Two Node - Specialized for flow environments
Start with a two node configuration if you are planning
to publish, schedule, and manage flows on your Tableau
Server.
On the initial node, install all the processes.
Isolated the backgrounder on the additional node to run
only flows.
● Use the tsm topology set-node-role tsm configuration to
configure this setting.
Baseline Configurations*
High Availability Installation (HA)
File redundancy with multiple File
Store/Data Engine instances.
Active/Passive Repository across two
nodes.
Adding an external load balancer to make
sure your installation is robust to Gateway
failures and make sure that requests only
get routed to functioning Gateway
processes.
*For HA environments, we recommend contacting Tableau professional services.
Server Scalability
Single Node
We recommend using a single machine to install your Tableau
Server for initial deployments with limited usage and are not
mission critical.
● Default Tableau Install, handles approximately 60 active users on
an 8 Core Machine, no process changes needed for most use cases
Server Scalability
Scale Up
Scale Up - Add more resources
/ run more services
+
Initial Node Node 2
Server Scalability
Scale Out
Scale Out - Add more Nodes
Running some or all of the services
Active Passive
Repository Repository
Initial Node Node 2
Server Scalability
Scale Out
Node 3
Scale Out - Add more Nodes
Running some or all of the services
Scaling can be asymmetric – e.g.
separate data services from user
services
Active Passive
Repository Repository
Sizing
Hardware considerations
Poll #2
Rate your server sizing skills:
What’s server sizing?
● Beginner
● Intermediate
● Expert
Sizing Considerations
This is an iterative process, more art than science, dependent on the expected use
cases.
Base configurations*
● Bare Metal
● Cloud environments
*Base configurations can be expanded and optimized to meet future demands and use cases.
Hardware Considerations (Baseline Config.)
Baseline on Bare Metal or Virtual Deployments
INSTALL TYPE PROCESSOR CPU RAM FREE DISK SPACE
Single Server 64-bit (x64) 8 physical cores 64 GB (8GB/physical 500 GB - 1 TB
(16vCPUs), 2.0 GHz or Core)
ARM-based processors
higher
are not supported.
If you are adding Tableau Prep Conductor to your Tableau Server installation, it is recommended
to add a second node and dedicate this to running Tableau Server Prep Conductor. This node
should have a minimum or 4 physical cores (8 vCPUs), and 16 GB of RAM.
Multi-node and Nodes must meet or exceed the minimum hardware recommendations, except in the following
enterprise scenarios where a node can be configured with 4 physical cores (8 vCPUs):
deployments
● Dedicated node for Backgrounder.
● Dedicated node for Tableau Prep Conductor.
● Move all the licensed process from the initial node to additional nodes.
Bare Metal hardware considerations
Machine specs to keep in mind
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 - performance and
throughput
● The number of servers in your deployment - throughput, assuming you actually mean nodes
● Network traffic - throughput
● Usage factors such as workbook complexity, concurrent user activity, and data caching -
performance and throughput
● Tableau Server configuration settings, such as how many of each server process you’re running -
Bare Metal Considerations
Disk drives : Solid State Drives
● Fast I/O
● No moving parts to fail
CPU:
● 64-bit ( x64 chipsets)
● Must support SSE4.2 and POPCNT instruction sets
Multiple Bus Architecture to speed up processing
RAM - Get more than you need it’s Cheap!
Cloud Considerations
You can deploy an enterprise-level Tableau Server installation in the cloud.
Building a cloud-based solution has many benefits over an on-premises installation.
● Hardware Specs are no different in the cloud
● The overall total cost of ownership for building a Tableau Server solution in the cloud is normally
much less than a similar on-premises solution because you don’t have to buy all of the expensive
hardware.
● Better uptime, reliability, and fault-tolerance, especially if you deploy your solution across different
regions and availability zones.
● Cloud vendors have state of art, up-to-date systems
● Easy to Scale up and Out
Baseline Configuration
VM and Public Cloud Deployments
Typically 2 vCPUs = 1 physical core for Tableau Server.
For example, for AWS installations, the 8 core minimum recommendation is the equivalent of 16
AWS vCPUs.
Platforms supported:
Evaluation Matrix
Where do you think most customers are on this matrix?
Evaluation Matrix
User Tier
Management Tier
Sizing Calculator
Establishing Recovery Expectations for HA
Recovery Point Objective (RPO) - maximum targeted period in which data might be lost from
an IT service due to a major incident. The RPO gives systems designers a limit to work to.
Recovery Time Objective (RTO) - targeted duration of time and a service level within which a
business process must be restored after a disaster (or disruption) in order to avoid unacceptable
consequences associated with a break in business continuity.
High Availability
Calculate capacity based on users and backgrounders first
The system should be over capacity
Capacity redundancy is real HA
Backgrounders will need backup as well
New for TSM!
Can flip processes to allow for a single machine to act as HA
for either VizQL or backgrounder
Rule of Thumb for Sizing
We size user capacity and backgrounder capacity separately
Sizing calculator uses whitepaper testing results
Make recommendations based on best practices, and be clear what they will lose or gain if they
scale up or down
Minimum 8GB RAM/Core – Recommend 16GB RAM/Core
2 - 8 concurrent users per core
HA implications should be considered last
Sizing Scenario
What would you recommend?
● 5,000 users
● 50 departments
● 5% of active users
● 99% uptime across the world
● SAML-based authentication
● The majority of connections are live
● Ability to update and synchronize users,
permissions and preferences
Keep Calm and Size Server
Gather key inputs
First, take a step back and gather the key inputs and iterate to the final architecture
Key Inputs to Server Sizing
● Total Number of Users
● Estimated User Percentage
● User Interaction Level
● Data Freshness
● Query Load?
User Interaction Level
Determine the user activity on the server
Creator/Web Editor: A user with the creator or
explorer role that will be web editing or publishing as Creators
their primary job function (Heavy Interactions)
Explorer: A user with the explorer role or who will be
some data exploration, but will not be web editing as Explorers
their primary job function (Medium Interactions)
Viewer: A user that has the viewer role, or who will be
primarily looking at static dashboards - more akin to
traditional BI methodology (Light interaction, click Viewers
and view)
Total vs Active Users
Key inputs
Total Users (T): The total amount of licensed users on server
Active Users (A): The number of licensed users actively using Tableau Server within a given
one hour period (Concurrent)
Evaluation Matrix
User
Tier
Management Tier
Use Profile and Process Scaling
Sizing Recommendation
Inputs used
100 Creators – 5% active
500 Explorers – 5% active
4400 Viewers – 5% active
HA capacity not required
Live connections only
Recommendation: 36 Cores / 288GB - 576GB RAM
No need to isolate backgrounders
99% uptime is about 3.5 days of downtime per year
What is the Minimum Size for a Machine?
Testing and POCs
Testing indicates that less than 8 cores is less reliable generally do
not recommend less
4 core backgrounder machines can be used effectively – sometimes
Start with 8 per machine, then re-evaluate
Technically, customers can do whatever they want – your responsibility is to
instill best practices
Scenario 2
Design a Baseline Configuration
250 Creators - 10% active
1000 Explorers - 7% active
2000 Viewers - 3% active
10% Headroom for growth
Extracts are being refreshed throughout the day, and
peak at 15 30 minute jobs within a 2 hour period
Recommendation: 32 Cores
With 10% Headroom: 36 Cores
Total Ram with Headroom: 288GB
Second Node with Backgrounders isolated w/ additional 8 Cores for this node
Scenario 2 Baseline
Baseline for Heavy Extracts Backgrounders on 2nd Node
6 Backgrounders based
● This example is the most common
on 8 core node.
scenario for Backgrounder usage.
This isolates Backgrounder with only
the processes that are collocated
automatically.
● This scenario: 6 Backgrounders
Footer
Load testing
Simulate and test load on your
environment
Load Testing
Variety of tools available
HP Loadrunner Apache JMeter TabJolt
● Record and modify tests ● Open source ● Automatically Drive load
● Configure and Use ● Similar to HP against Tableau Server
variables LoadRunner w/o script dev
● Distribute the testing ● The recommended load
workload tester for Tableau
Server Health Check
Existing Environments
Free, point-in-time assessments
Done on site
Pulls information from the Server Repository
Helps identify issues, bottlenecks and problem
areas within a deployment
Creates a basis from which to recommend
more hardware and/or services work
Knowledge Check
Take 30 Seconds to answer in the Chat Window
1. What is the max number of VizQl servers per node?
● 4
2. State the difference between Concurrent or Active users VS Total Users
● Concurrent are the avg. number of users on the system in a given hour
3. What is Scale Out vs Scale Up?
● Scale Up us More CPU, RAM and Services, Out is more nodes
4. Where can I download Tabjolt?
● Github
5. Who should you call if you need to configure an HA scenario?
● Tableau Professional Services
Resources
Follow the links
● Go to link to see how all Tableau Services work together
○ https://public.tableau.com/app/profile/technical.product.marketing/viz/TableauServerProcessScenarios/
ServerArchitectureFlow)
● Install:
○ https://help.tableau.com/current/server/en-us/install_config_top.htm
● Tableau Server Scalability:
○ https://www.tableau.com/learn/whitepapers/tableau-server-scalability-technical-deployment-guide-server
-administrators
● Hardware Planning:
○ https://www.tableau.com/learn/whitepapers/hardware-planning-and-server-configuration-enterprise-tabl
eau-deployments
● Deployment considerations:
○ https://www.youtube.com/watch?v=ocHjmwyQhrY
Customer use
Cases
Upcoming session
Aug 26, 1pm EDT
Next Webinars / Workshops
Tableau Compete: August 24, 2021 - 10 am PST
Register for Tableau Compete Update
Tableau Server Rapid Start: August 26, 2021 - 10 am PST
Want to build your practice on the same foundation our Tableau Services do for
Server deployment? Learn the flow of our Server Rapid Start services, discover
best practices, and implement your services practice.
Register for Tableau Server Rapid Start
Partner Foundational BootCamp Sep 8th to Oct 12th
If you are new to our partnership (new employee or Partner) join us in this
educational series to learn how we go to market, speak about the completion,
demo, and all other Sales and Presales skills required for you to be successful.
Reserve your spot: English, Portuguese, Spanish!
Next Webinars / Workshops
● Marketing Calendar (Tableau Public)
● Visit the Partner Upcoming Webinars Page
Thank You