A common question our services team gets asked is “How can I make my workbooks and worksheets load faster?” Luckily, there are many ways to answer this question, and even a full-featured performance analysis tool from our partner, Interworks.
As you might expect, the best place to start troubleshooting is with common problem areas.
- Make sure to check your CPU and Memory usage prior to startup- if they are maxed out then your problem may not even lie with Tableau.
- Try using extracts versus a direct connection if you haven't already.
- Make sure to check the Tableau Server Monitor to identify areas of concern.
If you are still encountering load time or performance issues, then you will most likely need to analyze your log files.
To get started looking into your log files I recommend downloading the Tableau Performance Analyzer provided by our certified partner InterWorks. This tool is a good resource for viewing the logs and performing analysis on load times for sheets, workbooks and dashboards being used on Tableau Desktop or Tableau Server.
Using the tool
The tool provides two different modes, Basic and Advanced. To start, you load the Tableau log file (this can be located at Documents\My Tableau Repository\Logs) and save the results to a Tableau Packaged Workbook (.twbx). You can then view the results using Tableau Desktop.
To view the results the Tableau Performance Analyzer loads a dashboard titled “Worksheet Loadtime Analyzer” that contains the parsed log information formatted and separated into three different sections:
- Total Query Time by Dashboard or Worksheet provides an aggregate of the total query running times for all of the sheets and workbooks. This is essentially showing you the load time required to build the visuals.
- Query Time by Sheet Name view provides an individual run time of the queries themselves.
- Query List allows you to view the actual queries. This is helpful if you want to copy/paste the queries to evaluate further or to compare and contrast.
The dashboard allows you to also view information by “Session” and has two visual indicators; OK and Review. This indicates the quality of your query times. Being able to drill-down from the dashboard to the worksheet then to the individual query level is key to troubleshooting. In addition, if you use the “Adjust Color Coding for Runtime” parameter you’re able to visually see long running queries that require attention based on the setting threshold you define. The ability to see how the queries are constructed and what is sent from Tableau to your backend data connection is how you move through the tuning process to identify possible issues.
If you are still having trouble after troubleshooting in Basic mode, you can use Advanced Mode to dig deeper into common trouble areas. The key areas to review are sheets, workbooks and dashboards that are using:
- Data Blending
- Table Joins
- Quick Filters
- The number of records being selected (are you selecting millions to filter down to thousands)?
The advanced mode allows several interactive features: Save to CSV, Save to TWBX, and Export Queries. It also allows users to drill down into the actual steps that are being performed for each sheet, workbook, dashboard and query. It includes additional information within each action to see various steps: Run time, Number of Records, and if the operation is a Primary Query or a Filter Query. The bar chart allows you to compare queries side-by-side. By understanding the query you can modify your workbooks or connection parameters to improve performance. Sometimes changing a quick filter, adding an index or restructuring the worksheet or dashboard will result in increased performance.
This utility is available free from InterWorks via a simple user registration on their download page. If your workbooks need some optimization, this tool is a fantastic way to get started.
Jim Beecher is a Senior Business Consultant with the Tableau Professional Services team. He helps customers across a variety of industries achieve their goals and hone their analytical skills. He can be reached by email at firstname.lastname@example.org.