You are on page 1of 61

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

You might also like