针对用户流量进行优化
如果您有很多活动 Tableau Server 用户,而需要数据提取刷新的已发布数据源很少,则可以针对流量进行优化。
注意: 本主题使用监视部分中的示例性能工作簿。有关详细信息,请参见使用示例性能工作簿分析数据。
何时针对用户流量进行优化
视图加载缓慢
使用示例性能工作簿的“Requests and Sessions”(请求和会话)仪表板来分析视图加载所花费的时间。
如果多个视图的加载时间都超过 10 秒,并且加载缓慢是由大量会话造成的,则可能表明用户流量拖慢了服务器。
但是,如果特定视图无论何时查看都要花费很长时间才能加载,则表明视图的工作簿需要优化。可以使用加载时间统计数据管理视图来确定哪些工作簿需要优化。优化工作簿的一些简单方式包括:在每个视图中显示较少的信息或拆分视图、减少筛选器数量,以及使用数据提取。
用户流量造成的高资源使用率
如果服务器在高峰流量时段显示高 CPU 和内存使用率,则您应针对用户流量进行优化。若要确定高峰流量时段并分析服务器上有多个并发用户,请使用“Users and Actions”(用户和操作)仪表板。此外,您可以使用到视图的流量管理视图来查看有多少用户流量牵涉到访问视图(而不是执行管理功能、发布或其他任务)。
如果单击“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 使用率则针对所有处理器内核进行度量。
使用“Memory Usage”(内存使用率)仪表板来显示总内存使用率百分比,以及平均内存使用量(以 GB 为单位)。一般情况下,内存使用率会随着用户流量稳定增长。同样,VizQL Server 进程是在高流量下显示高负荷的第一个进程。
针对用户流量进行优化的方式
如果像前面所示的示例中一样,高资源使用率带来了很高的用户流量,则应针对用户流量进行优化。
调整 VizQL Server 进程数
针对用户流量进行优化的最有效方式是调整 VizQL Server 进程数。一次添加一个 VizQL Server 进程,并使用更多的性能监控功能来衡量效果。由于 VizQL Server 进程可能会耗用大量的 CPU 和内存,因此添加太多进程可能会拖慢服务器。如果一直看到很高的内存使用率,请尝试减少 VizQL Server 进程数来减少保留的内存量。
有关配置进程的详细信息,请参见配置节点。
调整其他进程的数量
尽管针对用户流量提高性能的最有效方式是调整 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
命令缩短 vizqlserver.session.expiry.timeout
设置。默认值为 30 分钟。
降低刷新缓存的频率
如果您的用户并不总是需要最新数据,则可以将 Tableau Server 配置为尽量缓存和重复使用数据,从而针对用户流量进行优化。
为此,请使用 tsm data-access caching list
命令确认刷新频率。默认值为 Low
。使用 tsm data-access caching set
命令更改刷新频率。
评估视图响应性
用户打开视图时,视图组件会先经过检索和解释,然后再显示到用户的 Web 浏览器中。对大多数视图来说,显示呈现阶段在用户的 Web 浏览器中进行,且大多数情况下会生成最快的结果和最高级的交互响应性。在客户端 Web 浏览器中处理大多数交互可减轻带宽压力,并降低往返请求延迟。如果视图非常复杂,Tableau Server 将在服务器(而非客户端 Web 浏览器)中处理呈现阶段,因为这样做通常可获得最佳性能。如果您发现视图的响应情况不尽如人意,可以测试和更改导致视图由服务器呈现(而非在客户端 Web 浏览器中呈现的阈值)。有关详细信息,请参见配置客户端呈现。