Tableau Server Backgrounder Resource Limits

Tableau Server Backgrounder resource limits feature was introduced in Tableau Server 2022.1.

Overview and Concepts

What it is

The Backgrounder resource limits feature gives you the ability to manage Backgrounder resources and control how they are used. Starting in 2022.1, you can set limits on the number of background jobs that can run at the same time on a site. You can also specify the number of Backgrounder hours that a site can use to run jobs per day.

Default limits can be applied to all sites, but you can also set custom limits per site. This gives you the ability to manage the Backgrounder resources based on the specific requirements for a site.

When to use it

Use this feature when you want to make sure the resources are used where it is most needed. More importantly, you can prevent a single site from consuming a lot of backgrounder resources thus impacting job completion or job queue time on other sites.

If you are currently experiencing unbalanced Backgrounder resource usage or delays in background job completions, use this feature to optimize resource usage that is right for your organizational needs and content priorities.

Requirements and recommendations

  1. This feature requires that Tableau Server be enabled with a Advanced Management(Link opens in a new window) license.
  2. A new Tableau Server process called Resource Limits Manager is required to enforce the set resource limits. When you install or upgrade to Tableau Server 2022.1 or later, this process is automatically configured on the initial node.
    • We recommend having at least 5 Backgrounder processes in total running on Tableau Server for Backgrounder resource limits feature to run optimally. The default configuration and topology recommendations are described in detail in the Tableau Server Resource Limits Manager.
    • We do not recommend adding more Resource Limits Manager processes to your Tableau Server. The automatically installed process on the initial node is sufficient.

Terminology and concepts

  • Site job limits: The background jobs concurrency and run time limits for a site.
  • Default site limits: The default jobs concurrency and run time limits for a site.
  • Custom site limits: Site limits specific to that site.
  • Job type: Same as the task type. Includes extract refreshes, subscriptions, and flows.
  • Concurrent jobs limits: The maximum number of jobs of a specific type that can run at the same time. The maximum number is equal to the total number of Backgrounder processes deployed on the Server.
  • Daily limit: The daily limit includes run time limits and the reset time.
  • Runtime limit: This is the total number of Backgrounder job hours allotted for a site per day. The maximum number is equal to the total number of Backgrounder processes deployed on the Server multiplied by 24, 24 being the number of hours in a full day.
  • Reset time: The time at which the daily limits are reset. This is automatically set to midnight UTC and cannot be changed.
  • No limit: This is the same as if there are no resource limits configured. In this case, the jobs on a site that can run in parallel could use all the available backgrounder processes on Tableau Server.

What you can do

As a Tableau Server administrator,

  1. You can specify concurrency jobs limit for each task type - extract refreshes, subscriptions, and flows. This limit controls the number of background jobs on a site that can be run at the same time, for a given task type. The limits are unique to each task type, meaning you can set different limits for extract refreshes, subscriptions, and flows.
  2. You can specify the number of Backgrounder hours a site can use to run jobs in a 24 hour period - the daily job run time limit. Unlike the concurrency jobs limit, the daily job run time limit is cumulative across all task types.
  3. You can find out how many Backgrounder hours have been used by a site in the last 24 hour time period.
  4. You can see when a job is delayed due to set concurrency limits.
  5. You can identify when a job is canceled due to lack of available Backgrounder resources.

You can see the job status and details on the Managing Background Jobs in Tableau Server page.

As a task owner, you will receive an e-mail when your background job is canceled because the site reached its daily run time limit.

 

How to set Backgrounder resource limits

Tableau Server does not automatically set any resource limits. Until you configure resource limits, there is no resource limitation on backgrounder resource usage.

To set resource limits for the first time or make changes thereafter, navigate to the Settings page, and select the Resource Limits tab.

You can only configure custom limits once you have configured the default limits.

Will all sites selected, on the settings page under the resource limits tab are the configuration settings

Default site limits

Default site limits are set at the server level so they can be applied to all sites. Changes to default site limits apply to all new sites and any existing sites that are set to use default limits. Sites that have custom limits will not be affected by this change.

  • Concurrent Jobs Limits and the Daily Runtime Limits must be specified in whole numbers.
  • Changes to default site limits are effective immediately and do not require a server restart.

To set default limits for the first time, on the Resource Limits tab, select Set Default Limits. If you are making updates to existing default limits, select Edit Default Limits.

Custom site limits

For certain sites, you may need more or fewer resources than the default limits. This depends on the amount of content you have on the site and their importance to your business operations. When the default values are not the right capacity for a site, you can set custom resource limits for that site. Custom site limits can exceed default limits.

  • Concurrenct Jobs Limits and the Daily Runtime Limits must be specified in whole numbers.
  • Changes to custom site limits are effective immediately and do not require a server restart.

To configure custom limits for a site, on the Resource limits tab, under Actions, click the ellipses and select Customize Site Limits.

image shows a screenshot of the list of sites on the resource limits tab of the setting page where you can set custom limits for a site.

What happens after you configure resource limits

Once you set the resource limits for your sites, Tableau Server monitors and keeps track of the backgrounder resource usage, and makes sure the appropriate limits are enforced.

Jobs are placed in a queue when the site is at its maximum concurrency limit and will not run until a a job that is currently running on that site is complete, and Backgrounder capacity becomes available.

If after 12 hours there is still no concurrency resource available, then jobs that are still pending will be removed from the queue. At the end of the daily run time limit, any pending jobs will be canceled for the day and the task owner will receive a notification.

This feature requires that Tableau Server is activated with a valid Server Management license without which the limits are not enforced. If the license is invalid or deactivated for any reason, previously configured limits are saved and will be enforced once the license issue has been resolved.

When to make adjustments to the resource limits

Before making configuration changes, make sure that Tableau Server is running and is in a good state.

You can use the jobs page to identify jobs that are pending or canceled, and then determine which of those were due to resource limits.

Here are some patterns to monitor and make adjustments to the resource limits:

  • If you are seeing that one or more jobs on a site are consistently getting canceled, you may need to increase the daily run time limits.
  • If you are seeing that jobs on a site are consistently getting canceled early in the day, it probably means that the daily job run time is not enough for that site.

  • If you are consistently seeing several jobs of a particular type stay pending over a period of time, you may want to consider increasing the concurrent jobs limits for that task type. Alternately consider scheduling the tasks over different time periods so everything is not running at the same time. Also, you may want to consider creating schedules that are spread over a longer period, so tasks are not all scheduled to run too closely to one another.
  • If you don’t want to change the resource limits in the situations described above, you can choose to adjust the frequency of when the jobs are scheduled to run. For example, if the job is scheduled to run every hour, adjust it to run on a less frequent schedule.

Who can do this

Tableau Server Administrators can configure resource limits.

A Tableau Server user who owns extract refresh, subscription, or flow run tasks will receive email notifications when their jobs are canceled.

Thanks for your feedback!Your feedback has been successfully submitted. Thank you!