How to Do Performance Recording in Tableau Server

Cody Schneider

When your Tableau Server dashboard takes forever to load, it can feel like a frustrating black box. You know it’s slow, but you have no idea why. Instead of randomly guessing if it’s the database, a complicated filter, or too many charts, you can use a built-in tool that tells you exactly what’s causing the delay. This article will walk you through how to use Tableau Server's Performance Recording feature to diagnose and fix your slow-loading workbooks.

What Exactly is Performance Recording?

Think of Performance Recording as a diagnostic tool for your Tableau dashboards. When you run a performance recorder, it tracks every event that happens while a workbook loads and renders, measuring how long each step takes. It’s like getting an itemized receipt for time, showing you every 'purchase' your dashboard makes against your server's resources and your patience.

It captures key events, including:

  • Connecting to data sources

  • Executing queries against a database

  • Compiling queries

  • Geocoding data for maps

  • Blending data from different sources

  • Computing layouts and rendering visualizations

Once the recording is complete, Tableau automatically generates a temporary workbook that visualizes the results. This performance summary provides a clear, actionable breakdown of what’s slowing you down, shifting you from guessing to knowing.

Why You Should Use Performance Recording

The primary benefit of performance recording is that it eliminates guesswork. Instead of making assumptions about performance issues, you get concrete data that pinpoints the exact bottlenecks in your workbook. This is incredibly valuable for a few key reasons.

Isolate Problematic Elements Quickly

Imagine your monthly marketing report is crawling. It could be any number of things: the gigantic SQL query pulling campaign data, a faulty data blend with your CRM, or just the fact that there are 30 different charts on one dashboard. A performance recording will show you which of those — or another hidden culprit — is the real problem. You might find a single slow query is responsible for 80% of the load time, allowing you to focus your optimization efforts where they'll have the biggest impact.

Differentiate Between Tableau and Database Issues

It's easy to blame the dashboard when it's slow, but often the bottleneck is the underlying database. Performance Recording breaks down the "Executing Query" event and even shows you the exact query Tableau sends. You can copy this query and run it directly against your database. If it’s slow there, you know the issue isn't Tableau - it's a database optimization problem, like a missing index or an inefficient join. This helps you bring the right information to your data engineering or IT team to get it resolved.

Make Smarter Dashboard Design Choices

By regularly checking the performance of your workbooks, you'll start to develop an intuition for what makes a dashboard fast or slow. You’ll see firsthand how adding multiple complex Level of Detail (LOD) calculations or packing dozens of views onto a single dashboard impacts render times. This feedback loop helps you build more efficient and user-friendly dashboards from the start.

How to Enable and Run a Performance Recording

Before you or your users can record performance, an administrator for your Tableau Server may need to enable the feature site-wide. If they haven’t, you won’t see the option to view the recording.

For Server Administrators: Enabling Site-Wide Recording

As a server or site administrator, you can grant all users the ability to run performance recordings. This is incredibly helpful for empowering your users to self-diagnose issues before they report them.

  1. Log in to Tableau Server as a server or site administrator.

  2. Navigate to the site you want to configure and click on Settings.

  3. On the General tab, look for the section titled Workbook Performance Metrics.

  4. Check the box for Record workbook performance metrics.

  5. Click Save.

With this setting enabled, any user with access to a view can generate a performance recording for it.

For Users: Running a Performance Recording

Once site-wide recording is enabled, anyone can start a recording by slightly modifying the URL of the view they want to analyze. The process is straightforward.

  1. Open the Target View: Navigate to the specific dashboard or worksheet on Tableau Server that you want to test. Wait for it to fully load.

  2. Modify the URL: Go to your browser’s address bar and add this parameter to the end of the URL: ?:record_performance=yes.

    • If your URL looks like this: https://yourserver/views/Sales/AnnualOverviewAppend the parameter: https://yourserver/views/Sales/AnnualOverview?:record_performance=yes

    • If your URL already contains a question mark (?) for other parameters, use an ampersand (&) instead: https://yourserver/views/Sales/AnnualOverview?:filter=true&:record_performance=yes

  3. Reload and Interact: Press Enter or refresh the page. Tableau Server will reload the dashboard and begin recording every action. Interact with the dashboard in the same way that causes slowness. For example, change a date filter, click on a chart element to trigger a cross-filter, or load a new tab. Capturing these interactions is crucial.

  4. Generate the Performance Report: After you've completed the slow action(s), look for the Performance button in the dashboard's toolbar (it might be under the 'More options' or '...' menu). Click it.

A new browser tab will instantly open, displaying a Tableau workbook titled "Performance Summary." This is your recording, and now the real analysis can begin.

How to Read the Performance Summary Workbook

The performance summary dashboard can look intimidating at first, but it's logically laid out to guide you from a high-level overview to the granular details. It generally consists of three main components.

1. Timeline (Gantt Chart View)

At the top, you'll see a waterfall (Gantt) chart showing all the events laid out over time. This is your primary diagnostic view.

  • Events as Bars: Each bar represents a single event, like "Executing Query" or "Computing Layout."

  • Length of Bars: The longer the bar, the more time that event took. Your eyes should immediately be drawn to the longest bars - these are your primary bottlenecks.

  • Color Coding: The colors signify the type of event.

    • Green: Executing Query. This is time spent waiting for the database to return data.

    • Orange: Geocoding.

    • Blue: Server Rendering. This involves drawing the actual visuals.

    • Purple/Violet: Computing Layouts. Tableau figures out where to place everything.

Hovering over any bar will give you a tooltip with specific details, including the duration, start time, and context of the event, like which worksheet it was for.

2. Events (Sorted by Time)

Below the timeline is a table that provides the raw data for all the events shown in the chart. It's sorted chronologically by default, which is useful for seeing the step-by-step sequence of operations. You can sort this table by the "Duration" column in descending order to bring the most time-consuming events directly to the top. This is a great way to confirm what you suspected from looking at the longest bars in the timeline view.

3. Query Text

This is arguably the most powerful section. If you select an "Executing Query" event from the Timeline or Events view, this section will display the exact SQL query that Tableau sent to the database. You can copy this query text and run it directly in your database client (like SQL Server Management Studio, MySQL Workbench, or DBeaver).

This allows you to test database performance in isolation. If the query is still slow in your database tools, then you've proven the bottleneck isn't Tableau. You could now focus on query optimization, such as creating database indexes, refactoring a join, or moving complex calculations into the database layer by using a materialized view.

Pinpointing and Fixing Common Bottlenecks

After analyzing your performance recording, you'll likely run into a few common culprits. Here's what to look for and how to fix them:

Slow-Running Queries

  • Diagnosis: Very long green bars ("Executing Query") on the timeline. The Query Text section might show an excessively slow query with multiple joins or custom SQL that isn't performant.

  • Solution: Convert your data sources to an Extract! Extracts are Tableau's pre-optimized snapshots that can significantly speed up performance, especially for slower databases. Also, ensure you don’t modify the query directly from Tableau, you can work with any data team to optimize the underlying tables/views, adding indexes or simplifying joins.

Complex Dashboard Rendering

  • Diagnosis: Noticeable "Computing Layout" and "Server Rendering" bars. This often happens with overly dense dashboards with too many worksheets, complicated filters, high-resolution imagery, or floating objects.

  • Solution: Simplify your dashboard design. See if you can combine any worksheets. Reduce the number of filter visuals on the dashboard. Remove unnecessary images or optimize higher sizes. Use layout containers (Vertical/Horizontal) to help Tableau organize items more efficiently rather than manually placing everything.

Calculations

  • Diagnosis: Performance recordings don’t explicitly show "Calculation Time," but complex table calculations (like window sums) or calculations that reference a large amount of data can manifest as longer "Computing Layout" events.

  • Solution: Move complex business logic into your database whenever possible - creating a column in a database view is almost always faster than creating a row-level calculation in Tableau. Also, while you have multiple calculations that depend on each other, see if there’s a way to consolidate them into one or two expressions.

Slow Data Blending

  • Diagnosis: Long event labels like "Blending Data." This often occurs when the joining field between your primary and secondary data sources has a lot of unique values (low cardinality).

  • Solution: If you can join your tables within your database instead of using data blending in Tableau, that’s often preferable. Joins are generally more efficient. Consider using an ETL tool like Tableau Prep to combine your data into a single cleaned data source upstream before building your visualizations.

Final Thoughts

Performance recording is a powerful, yet often underutilized tool within Tableau Server. It takes the guesswork out of troubleshooting slow dashboards by providing clear, actionable data on what’s actually happening under the hood. By learning to read these performance visualizations, you can drastically reduce load times, making your dashboards far snappier and your users much happier for a better experience.

Ultimately, our goal is to help simplify this whole process. Manually pulling data from multiple platforms, juggling calculations, and building charts isn’t always the answer to real questions that get in the way of actually acting on data. We created Graphed to handle this data wrangling for you. Set consistent comparison data and use tools that help you boost accessibility, organize searches in a streamlined way so you can create great visualizations in time for the meeting that will determine the course of your year.