---
schema_version: "1"
id: ddcec06006be47d59e70184d7ed1c72eb0ca2a936f6fad5595ec8ce6827001d7
title: 针对数据提取进行优化
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server/perf_optimize_extracts.md
canonical_url: https://help.tableau.com/v0.0/server/zh-cn/perf_optimize_extracts.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 6edfc31245b2aba0235466ab442f36e3acafa31400ec229ad8f92e8610546511
description: Optimize Tableau Server for environments with heavy extract refresh workloads.
---
[跳转到主要内容](#main-content)

# 针对数据提取进行优化

如果数据提取计划对应于高资源使用量，或者数据提取花费很长时间才完成，请尝试针对数据提取进行优化。

**注意：** 本主题使用监视部分中的示例性能工作簿。有关详细信息，请参见[使用示例性能工作簿分析数据](https://help.tableau.com/v0.0/server/zh-cn/perf_analyze_sample_workbook.htm)。

## 何时针对数据提取进行优化

### 数据提取计划产生高 CPU 使用率

使用示例性能工作簿的“Background Jobs”（后台作业）仪表板来查看 Tableau Server 运行的后台作业数，包括数据提取刷新作业。该仪表板还显示长时间后台作业的延迟时间，即对后台作业进行计划和实际运行后台作业所间隔的时间量。如果在一天中的特定时间看到长时间延迟，或者有很多作业同时运行，请尝试将作业计划分布在一天中的不同时间来减少服务器上的负载。

![每分钟完成的后台作业数量和每小时最大作业延迟（分钟）的图表。](/tableau/next/zh-cn/server/zh-cn/Img/perf_workbook_background_jobs.png)

同时，将出现很多后台作业或长期延迟的时间与服务器的 CPU 使用率进行比较。使用“CPU Usage”（CPU 使用率）仪表板来显示总 CPU 使用率百分比，以及每个进程的 CPU 使用率百分比。由于后台程序进程运行后台作业，因此，如果有很多数据提取刷新作业或者数据提取刷新作业运行缓慢，则第一个进程会显示负荷很大。请注意，后台程序进程的 CPU 使用率会定期但短暂地达到 100%。这表明刷新作业重复地集中出现。

**注意**：单独进程的 CPU 使用率百分比加起来的和可能会超过 100%，因为单独进程的处理器利用率是针对给定处理内核度量的。与之相比，总 CPU 使用率则针对所有处理器内核进行度量。

![一张折线图和五张条形图，显示各个进程随时间变化的 CPU 使用情况。](/tableau/next/zh-cn/server/zh-cn/Img/perf_workbook_cpu_usage.png)

### 数据提取失败或运行缓慢

使用[数据提取后台任务](https://help.tableau.com/v0.0/server/zh-cn/adminview_backgrnd.htm)管理视图来确定失败的数据提取的数量以及完成数据提取所花费的时间。频繁失败可能表明特定数据源存在问题。

![时间序列图显示过去七天在服务器上运行的数据提取次数，而条形图则显示每日成功和失败的数据提取次数。](/tableau/next/zh-cn/server/zh-cn/Img/adminview_extract.png)

## 针对数据提取进行优化的方式

如果像前面所示的示例中一样，数据提取刷新计划带来了很高的 CPU 使用率，则应针对数据提取进行优化。

### 调整数据提取刷新计划

使用示例性能工作簿的“Background Jobs”（后台作业）仪表板来确定运行数据提取的最佳时间。除了在非高峰时段运行数据提取外，您还可以分开运行数据提取刷新，以尽量减少并发服务器负载。如果数据提取刷新继续产生问题，请通过以下方式尽量减小数据提取刷新的频率：

- 将数据提取计划在服务器不忙的时候运行。
- 减小刷新的频率。

### 加快特定数据提取的速度

使用[数据提取后台任务](https://help.tableau.com/v0.0/server/zh-cn/adminview_backgrnd.htm)管理视图来确定失败的数据提取和长时间运行的数据提取。

- 减少数据提取的大小。您可以使数据提取的数据集保持较短，利用筛选或聚合，以及隐藏未使用的字段来缩小范围，所有这些方法有助于提高服务器性能。若要进行这些更改，请使用 Tableau Desktop 选项“隐藏所有未使用的字段”和“聚合可视维度的数据”。有关详细信息，请参见 Tableau 帮助中的[创建数据提取](https://help.tableau.com/current/pro/online/zh-cn/extracting_data.htm)。
    
    有关构建性能良好的工作簿的一般提示，请在 Tableau 帮助中搜索“性能”。若要查看工作簿发布到 Tableau Server 后的执行情况，您可以创建性能记录。有关详细信息，请参见[创建性能记录](https://help.tableau.com/v0.0/server/zh-cn/perf_record_create_server.htm)。
- 使用增量刷新作业。增量刷新作业会将新行附加到现有数据提取，而不是从头开始创建数据提取。这种类型的数据提取刷新运行很快，因为它只处理自上次数据提取刷新作业运行以来添加的数据。但是，它不会考虑更新（而不是附加到数据源）的数据。因此，如果运行增量刷新作业，您仍然应该偶尔运行完全刷新作业。例如，您可以为数据源一周运行一次或两次完全刷新作业，而不是每天运行。

### 为数据提取刷新配置执行模式

创建数据提取刷新计划时，请确保计划以并行执行模式运行。并行运行计划时，计划将在所有可用后台程序进程上运行，即使计划只包含一个刷新任务。以串行方式运行计划时，计划仅在一个后台程序进程上运行。默认情况下，执行模式设置为并行，以便刷新任务能尽快完成。

但是，在某些情况下，将执行模式设置为串行也可能有意义。举例来说，如果一个非常大的作业由于会占用所有可用后台程序进程而使其他计划无法运行，则您可以将执行模式设置为串行。

### 增加后台程序进程数

对于某些任务，单个后台进程可能会占用 100% 的单个 CPU 内核。因此，您应运行的实例总数取决于计算机的可用内核数。如果在群集中安装了 Tableau Server，并且在单独的节点上运行后台程序进程，一条好的经验法则是：将后台程序进程数设置为介于运行后台程序进程的计算机的一半内核数和全部内核数之间。

有关配置进程的详细信息，请参见[配置节点](https://help.tableau.com/v0.0/server/zh-cn/config_nodes.htm)。

### 隔离进程

如果在群集中安装 Tableau Server，则您可以通过将后台程序进程转移到单独的节点来避免资源争用，从而获得最大的好处。这是因为后台程序进程会占用非常大量的 CPU，如果在其他大量占用 CPU 的进程所在的同一节点上运行该进程，将可能会拖慢服务器。例如，VizQL Server 进程和数据引擎进程都可能会大量占用 CPU。有关更多详细信息，请阅读[推荐的基准配置](https://help.tableau.com/v0.0/server/zh-cn/server_baseline_config.htm#two-node)中的双节点配置。