November 17, 2023

Best Practices for Tableau Server Maintenance

By Nilay Amar

Maintenance is important in everyday life to be efficient. Maintenance is required everywhere, whether normal human beings or the IT space. Similarly, the Tableau Server must also be maintained to perform optimally.

Tableau Server is one of the products in the Tableau suite, which is hosted and maintained within your company’s firewall and can be deployed on Cloud as well as On-Premises. Since you would be responsible for handling products within your organization’s firewall, knowing how to manage them is always good.

In this blog, we will understand in-depth Tableau Server Maintenance and how we should use it.

What is Tableau Server Maintenance and Why Does It Matter?

Tableau Server Maintenance is a housekeeping activity that keeps your Tableau Server healthy. You might see some scenarios wherein the performance of your Tableau Server is degraded, your workbooks are loading much slower than expected, and you are getting errors for disk space in doing extract refreshes, and many more. 

All these scenarios result from bad maintenance/housekeeping of the Tableau Server.

There are a lot of ways to do maintenance.

  1. Tableau Server Backup

  2. Tableau Server Cleanup

  3. Tableau Server Upgrade

  4. Tableau Server Security and Permissions

  5. Tableau Server Content Cleanup

  6. Tableau Server Performance Tuning

  7. Tableau Server Disaster Recovery

Let’s see what these strategies mean to understand Tableau Server maintenance in a better way.

How to Perform Regular Backups

Performing regular backups helps you to be prepared if something goes wrong and you want to return/restore to a previous state. These backups are classified as below.

  1. Data Backup

    1. Full Backup

    2. Postgres Backup

  2. Settings Backup

Full Data Backup

As the name says, this is used to back up your complete data, which includes metadata, users, contents, extracts, etc. This is very useful when restoring your entire infrastructure with the backup file. 

Below is the command snippet in CLI for the same.

				
					tsm maintenance backup -f <filename>.tsbak [options] [global options] 
				
			

where filename is the name of the backup file .tsbak is an extension for backup file options that can include a description of the file (-i), timeout values in seconds (--request-timeout), etc. Global options include TSM user and password details.

Postgres Data Backup

There are some scenarios where you don’t want all front-end data, like contents, users, extracts, etc., to be backed up. Instead, you need your metadata info stored in the Postgres database to be backed up. You can also do that by following the below command snippet in CLI.

				
					tsm maintenance backup -f <filename>.tsbak --pg-only [options] [global options]

				
			

All these backup files are stored in the default installation directory path unless defined as something else in your TSM basefilepath.backuprestore configuration.

Settings Backup

Full and Postgres data backup methods will only store your data in the file. There are a lot of configuration settings that we do as per our organization’s requirements. You should consider getting those backups as well. These settings include your configuration topology about the nodes and their processes. You can do a settings backup using the below command snippet in CLI.

				
					tsm settings export --output-config-file <path/to/output_file.json> [global options]

				
			

Doing a Full Data Backup and a Settings Backup daily is recommended to ensure you have enough resources available to overcome any disaster with your infrastructure. It is advisable to store these backup files in a location that is outside your Tableau Server installation infrastructure

How to Perform Tableau Server Cleanup

The Tableau Server cleanup activity is performed to delete the old temporary, log, and crash dump files for a particular period (default up to the last day). The cleanup will help the servers to have more disk space available for extracts to perform better. You can use the code snippet for cleaning up the Tableau Server.

				
					tsm maintenance cleanup [options] [global opportunities]
				
			

The options available are as follows:

-a, --all Perform all cleanup operations with default retention values.
--http-requests-table-retention <# of days> Specify the number of days of http_requests table entries that should be retained.
-ic, --sheet-image-cache Clear the image cache.
-l, --log-files Delete log files that are older than 1 day.
-q, --http-requests-table Delete old http_requests table entries. The default retention period is 7 days.
-r, --redis-cache Clear the Redis cache.
--request-timeout Wait for the specified amount of time for the command to finish.
-t, --temp-files Delete all temporary files.

How to Keep Software Up to Date

Keeping your software up to date in every field is always recommended. Whether you are using a smartphone, laptop, or any product tool, keeping them updated with new versions is advisable. 

The update to your software helps keep it safe from any threats/attacks. These updates align your software with security enhancements and bring in new features for a better user experience.

The same goes with Tableau Server. It is advisable to upgrade your Tableau Server twice a year for better maintenance. Both the upgrades in a year can be divided into major and minor. The major upgrade will be something like upgrading from very old to newer versions with new features. 

On the other hand, a minor upgrade can be a maintenance patch update which fixes the bugs identified in the product. It is recommended not to go for the latest version available for an upgrade but instead choose the (n-1) version, where n is the latest version available for Tableau Server.

Security and Permissions Management

The permissions determine a user’s privileges for interaction with dashboards and data sources in the Tableau Server. The users are added to a Tableau Server or Site per the authentication method set (AD, Local). The permissions of these users are divided into two categories –

  1. Server/Site Role – The role defines the license level of that user in Tableau Server/Site.

  2. Content Permissions – The content permissions define how users can interact with the Tableau dashboards, data sources, flows, etc., within that Site.

Tableau sites use projects to organize content and groups to organize users. It is always advisable to not add users directly into projects but rather utilize groups for adding permissions. Managing permissions is easier when permission rules are:

  1. Set at the project level instead of on individual pieces of content.

  2. Established for groups instead of individuals.

Below is a sample of how permissions look in Tableau Server:

Content Cleanup and Management

The content cleanup and their management will look like a small activity, but it has a greater impact on the performance improvement of the Tableau Server. Content cleanup refers to removing/deleting contents (workbooks, data sources, flows) from your Tableau Server, which any users are not using. You can identify these stale contents using a pre-built admin view named “Stale Content.”

A screenshot from the Stale Content view, which displays information through various graphs.

The Stale Content view can be used to identify content that hasn’t been used or accessed in the specified period (displayed as Stale Access Threshold). You can set that period in days. 

The minimum value for the period is 1 day, and the maximum is 120 days.

Performance Tuning Techniques

When we mention performance, we mean the speed at which you can work in Tableau. It might mean the speed of data analysis, such as working in Tableau Desktop on a large corporate database that you are accessing remotely. 

Or it could refer to the speed of loading views or dashboards that you access on your desktop from Tableau Server.

Because no two server environments are identical, we can’t provide hard and fast rules for tuning server performance. However, you can draw conclusions about performance from patterns in your collected data. 

Most performance tuning for Tableau Server boils down to these general approaches:

  1. Optimize for User Traffic: This tunes the server to respond to user requests and to display views quickly.

  2. Optimize for Extracts: This tunes the server to refresh extracts for published data sources. You should optimize for extract refreshes if your organization has a lot of data, and the data needs to be as up-to-date as possible.

  3. Optimize for Extract Query-Heavy Environments: This is a specialized server configuration to optimize for query performance of workbooks that use extracts as their data source.

Disaster Recovery Planning and Testing

Disaster recovery (DR) means being prepared for—and recovering from—disaster. Any event such as hardware failure, software failure, natural calamity, human error, or infrastructure failure that causes disruption to business continuity can be considered a disaster.

As analytics are often mission-critical, Tableau Server must run reliably to support the enterprise—even during unexpected events that can compromise the platform’s availability. Tableau’s built-in backup and recovery technologies can be used to meet your DR needs.

If your business can tolerate the Tableau Server being unavailable for a few hours, we recommend you have hardware provisioned for the Tableau Server before you need it. As part of the setup of your DR cluster:

  1. Install the same version of Tableau Server that is running on your production cluster.

  2. Import the latest configuration and topology data on the DR cluster.

  3. Restore the latest Tableau Data backup on the DR cluster.

  4. Power down all the nodes on the DR Server

Your DR Tableau Server will now be in a cold standby state. In case of a disaster, your disaster recovery plan will include the following steps:

  1. Turn the cold standby server on.

  2. Restore the latest configuration and topology data on the DR cluster.

  3. Restore the latest Tableau Data backup on the DR cluster.

  4. Redirect traffic to the DR Tableau Server.

In this scenario, the duration of the outage will depend on the size of your Tableau Server installation and the length of time it takes to restore the most recent backup. Your restored data will be as up-to-date as your most recent backup.

Every business should conduct mock Disaster Recovery activity once or twice a year to make sure things are working properly and avoid getting into unexpected issues when actual DR happens.

Closing

Whether it’s a small organization or large, single-node configuration or multi-node, maintaining the Tableau Server is important to ensure things are running smoothly. Taking regular backups, doing regular cleanups, and upgrading your Tableau Server for better performance is strongly recommended.

If you have more questions about this and want to dive deep into any maintenance practice strategies, don’t hesitate to contact our Tableau experts.

FAQs

You should perform regular maintenance like removing stale contents, removing unneeded files, setting up better governance policies for your organization, synchronizing Active Directory groups, creating regular backups, etc.

TSM maintenance is a set of commands used for managing Tableau Server maintenance activities like doing cleanups, generating log archives, creating backups, or restoring Tableau Server backup from a previously created backup.

Data Coach is our premium analytics training program with one-on-one coaching from renowned experts.

Accelerate and automate your data projects with the phData Toolkit