---
schema_version: "1"
id: e19833af30369e3d072b7674e3d5d918c098357d240f365a19d8c27bacf8551f
title: 针对用户流量进行优化
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/server/perf_optimize_user_traffic.md
canonical_url: https://help.tableau.com/v0.0/server/zh-cn/perf_optimize_user_traffic.htm
source_site: help.tableau.com
content_type: documentation
content_hash: b83feb3db1d624f65c22c212c1550a68460b9811f96582b76cb3e036a8bbb2f6
description: Optimize Tableau Server for environments with heavy user traffic.
---
[跳转到主要内容](#main-content)

# 针对用户流量进行优化

如果您有很多活动 Tableau Server 用户，而需要数据提取刷新的已发布数据源很少，则可以针对流量进行优化。

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

- [何时针对用户流量进行优化](#when-to-optimize-for-traffic)
- [针对用户流量进行优化的方式](#ways-to-optimize-for-traffic)

## 何时针对用户流量进行优化

### 视图加载缓慢

使用示例性能工作簿的“Requests and Sessions”（请求和会话）仪表板来分析视图加载所花费的时间。

![两个散点图说明了随时间变化的请求和会话数量。](/tableau/next/zh-cn/server/zh-cn/Img/perf_workbook_requests_sessions.png)

如果多个视图的加载时间都超过 10 秒，并且加载缓慢是由大量会话造成的，则可能表明用户流量拖慢了服务器。

但是，如果特定视图无论何时查看都要花费很长时间才能加载，则表明视图的工作簿需要优化。可以使用[加载时间统计数据](https://help.tableau.com/v0.0/server/zh-cn/adminview_stats_load_time.htm)管理视图来确定哪些工作簿需要优化。优化工作簿的一些简单方式包括：在每个视图中显示较少的信息或拆分视图、减少筛选器数量，以及使用数据提取。

### 用户流量造成的高资源使用率

如果服务器在高峰流量时段显示高 CPU 和内存使用率，则您应针对用户流量进行优化。若要确定高峰流量时段并分析服务器上有多个并发用户，请使用“Users and Actions”（用户和操作）仪表板。此外，您可以使用[到视图的流量](https://help.tableau.com/v0.0/server/zh-cn/adminview_serveract.htm)管理视图来查看有多少用户流量牵涉到访问视图（而不是执行管理功能、发布或其他任务）。

![两个散点图显示了用户随时间的活动，反映了各种用户操作。](/tableau/next/zh-cn/server/zh-cn/Img/perf_workbook_users_actions.png)

如果单击“Number of Users”（用户数）视图中的某个点，仪表板将显示当前处于活动状态的用户，以及哪些用户执行的用户操作的数量。默认情况下，显示的唯一用户操作是用户视图，但您可以使用“Action Types”（操作类型）筛选器来显示其他用户操作。

记下一天中存在多个并发用户和视图的时段，以便您能够将此数据与资源使用量进行比较。经验法则是：用户数应与高用户操作数对应。但是，在负载生成测试过程中，此示例中的视图会为单一用户显示虚假的高操作数。例如，您可以将 6 月 28 日 12 AM 的高视图数与后面阐述的仪表板中的资源使用量进行比较。

使用“CPU Usage”（CPU 使用率）仪表板来显示总 CPU 使用率百分比，以及每个进程的 CPU 使用率百分比。在下面的示例中，请注意总 CPU 使用率和 VizQL Server 进程在 6 月 28 日 12 AM 时的大型峰值。由于 VizQL Server 进程加载和呈现视图，因此 VizQL Server 进程通常是在高用户流量下显示高负荷的第一个进程。

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

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

使用“Memory Usage”（内存使用率）仪表板来显示总内存使用率百分比，以及平均内存使用量（以 GB 为单位）。一般情况下，内存使用率会随着用户流量稳定增长。同样，VizQL Server 进程是在高流量下显示高负荷的第一个进程。

![两个显示随时间推移的内存使用情况的图表。顶部图表显示总内存使用情况，底部图表显示按进程细分的内存使用情况。](/tableau/next/zh-cn/server/zh-cn/Img/perf_workbook_memory_usage.png)

## 针对用户流量进行优化的方式

如果像前面所示的示例中一样，高资源使用率带来了很高的用户流量，则应针对用户流量进行优化。

### 调整 VizQL Server 进程数

针对用户流量进行优化的最有效方式是调整 VizQL Server 进程数。一次添加一个 VizQL Server 进程，并使用更多的性能监控功能来衡量效果。由于 VizQL Server 进程可能会耗用大量的 CPU 和内存，因此添加太多进程可能会拖慢服务器。如果一直看到很高的内存使用率，请尝试减少 VizQL Server 进程数来减少保留的内存量。

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

### 调整其他进程的数量

尽管针对用户流量提高性能的最有效方式是调整 VizQL Server 进程数，但您也可以调整为 VizQL Server 进程提供支持或使 VizQL Server 进程无法访问资源的其他进程。例如，VizQL Server 进程会向缓存服务器进程发出频繁请求，因此您可能也需要增加缓存服务器进程数。另一方面，后台程序进程可能会与 VizQL Server 进程争用 CPU 资源。因此，如果您不需要频繁运行数据提取刷新，则可以减少后台程序的进程数。如果您确实需要后台程序的额外实例，并且在群集上运行 Tableau Server，则可以将这些后台程序进程转移到专用节点。

### 调整 VizQL 会话超时限制

在前面显示的示例中，VizQL Server 进程使用的内存量会随用户流量增加，并且在流量完成后一段时间内，Tableau Server 会一直保留该进程。这是因为 VizQL Server 进程会为每个会话保留内存一段指定的时间。如果 VizQL Server 进程占用了很高比例的可用内存，请尝试缩短每个会话的超时，提高内存再次可用的速度。 

为此，请使用 `[tsm configuration set](https://help.tableau.com/v0.0/server/zh-cn/cli_configuration_tsm.htm#TSMSet)` 命令缩短 `vizqlserver.session.expiry.timeout` 设置。默认值为 30 分钟。

### 降低刷新缓存的频率

如果您的用户并不总是需要最新数据，则可以将 Tableau Server 配置为尽量缓存和重复使用数据，从而针对用户流量进行优化。

为此，请使用 `[tsm data-access caching list](https://help.tableau.com/v0.0/server/zh-cn/cli_data-access.htm#caching-list)` 命令确认刷新频率。默认值为 `Low`。使用 `[tsm data-access caching set](https://help.tableau.com/v0.0/server/zh-cn/cli_data-access.htm#caching-set)` 命令更改刷新频率。

### 评估视图响应性

用户打开视图时，视图组件会先经过检索和解释，然后再显示到用户的 Web 浏览器中。对大多数视图来说，显示呈现阶段在用户的 Web 浏览器中进行，且大多数情况下会生成最快的结果和最高级的交互响应性。在客户端 Web 浏览器中处理大多数交互可减轻带宽压力，并降低往返请求延迟。如果视图非常复杂，Tableau Server 将在服务器（而非客户端 Web 浏览器）中处理呈现阶段，因为这样做通常可获得最佳性能。如果您发现视图的响应情况不尽如人意，可以测试和更改导致视图由服务器呈现（而非在客户端 Web 浏览器中呈现的阈值）。有关详细信息，请参见[配置客户端呈现](https://help.tableau.com/v0.0/server/zh-cn/browser_rendering.htm)。

## 此部分中的其他文章