How to troubleshoot Tableau Server performance issues
Common causes of Tableau server performance issues
The most common cause of Tableau Server performance issues is Tableau Server being under-resourced or overloaded. In short, the hardware given to Tableau Server is inadequate for the workload. This could be affecting either (or both) the Tableau Server application or the Tableau Server PostgreSQL Metadata Repository.
How do I know if Tableau Server is having Performance Issues?
- Tableau Dashboards take more than 5 seconds to load when they open
- Clicking between Dashboards in the same Tableau Workbook is sluggish
- Tableau Dashboards take more than 5 seconds to pull fresh data
- Dashboard filters take a long time to apply
- Downloading raw data is slow
- Tableau Extracts take a long time to refresh
- The Tableau Server web interface is sluggish
- Application timeouts can be seen in error messages or found in log files
Some things like Dashboards rendering slowly should be obvious, but others are more difficult to diagnose.
Likely Causes of Tableau Server Performance Issues
- Resource intensive operations like backups could be competing for resources with Tableau Server
- Tableau Server is Out of RAM
- Tableau Server is Out of Temp space
- Tableau Server is Bottlenecked on Disk I/O (the Hard Drive is too slow for the workload). Disk queue length can an indicator that this is a problem.
- Tableau Server is out of CPU threads
- Network bottlenecks could be causing issues
- Tableau Server is competing for resources with other applications running on the same Operating System install
- The Tableau Server Virtual Machine is competing for resources with other Virtual Machines on the same host
- Performance issues may be related to the data provider rather than Tableau Server
Problems are often seen when Tableau Server is running in a Virtual Machine, and the Operating system can’t get the resources it needs quickly enough when the workload spikes. This is seen frequently when the host machines are over-provisioned on VMware, Hyper-V, VirtualBox, and more.
These issues could result in strange behavior and indecipherable or nonsensical error messages.
Tableau Extracts take a long time to refresh
- SQL Queries on the source database may be poorly optimized
- The source database may be under-resourced or overloaded
- The Data Model of the source database may not be appropriate for analytical queries
- Tableau Server could be under-resourced
- Tableau Server could be competing for resources with other applications
How to fix Tableau Server performance issues
- Add more CPUs to Tableau Server
- Add more RAM to Tableau Server
- Replace Hard Disks on Tableau Server with high-throughput SSDs
- Create a multi-node cluster with Tableau Server
- Improve the performance of underlying SQL queries
- Isolate Tableau Server on dedicated Virtual Machines which are resourced appropriately
- Migrate Tableau Server to Tableau Online in the cloud
How to make Tableau Datasources Faster
- Use Tableau Extracts whenever possible
- Source data from a purpose-built Data Warehouse
- Move source data from a NoSQL database like MongoDB to a Data Warehouse
- Load data from flat files into a Data Warehouse
- Don’t query 3rd party APIs in real-time. Load the 3rd party data into a Data Warehouse and query data from there.
- Move your Data Warehouse to an elastic cloud-native database like Snowflake or BigQuery
- Refactor your data models to better match how users are using the data
- Optimize SQL Queries in the source databases
There could be many reasons for Tableau Server performance issues. Tableau server could be overloaded on any of the items mentioned above. The network connection between Tableau and the source data could be saturated. The source data warehouse, source system, source database, source API, etc could be overloaded.\
Tableau publishes a Tableau Server Scalability whitepaper and a deployment guide for Hardware Planning and Server Configuration which are several hundred pages in length and cover this at a high level.
These aren’t easy answers, and dealing with systems like Tableau which specialize in data analysis and processing is quite different than issues which sysadmins would encounter on operational or OLTP systems.
Dashboards, Datasources, or Reports are missing
Missing objects should never, ever happen. All of the Tableau metadata (.twb and .twbx files) are stored in the Tableau internal Postgres repository as XML, and .hyper files (data sources) are stored in the local filesystem. If files are missing they were likely deleted by a user. You should be able to confirm this with the activity data in the Tableau Postgres repository. Even if the *.twb files are gone, the audit trail will remain. You may be able to restore the missing objects with the native Tableau Server Version History.
Uncommon Tableau Server issues
A Postgres database corruption issue is possible. Postgres is an ACID-compliant relational database and it is possible (but incredibly unlikely) to experience dirty writes and/or deadlocks. These should not happen under normal circumstances, but you may experience this if the database runs out of permanent or temporary disk space.