记录和分析工作簿性能
您的工作簿已完成,您想知道其性能是否比应有的性能慢。若要找出导致性能慢下来的原因,您可以使用性能记录来评估您的工作簿。如果您计划共享或发布工作簿,那么这是一个特别好的主意。
利用 Tableau 中的性能记录功能,您可以在与工作簿交互时记录关键事件的相关性能信息。然后,您可以在工作簿中查看 Tableau 为分析和解决已知会影响性能的不同事件而创建的性能指标:
查询执行
编译查询
地理编码
连接到数据源
布局计算
数据提取生成
混合数据
服务器呈现(仅限 Tableau Server)
Tableau 支持人员在与您一起诊断性能问题时可能会请求您创建性能工作簿。
在 Tableau Desktop 中创建性能记录
若要开始记录性能,请执行以下步骤:
“帮助”>“设置和性能”>“启动性能记录”
要停止记录,并查看包含记录会话结果的临时工作簿,请执行以下步骤:
“帮助”>“设置和性能”>“停止性能记录”
您现在可以查看性能工作簿并开始您的分析。
单击“文件”>“保存”以将工作簿保存到您选择的位置。如果您要向 Tableau 支持部门发送记录,请将此工作簿另存为打包的工作簿 (.twbx) 文件,然后发送此文件。
解读性能记录工作簿
性能记录工作簿包含两个主要仪表板:“性能摘要”和“详细视图”。“性能摘要”仪表板提供最耗时事件的高级概述。“详细视图”仪表板提供了更多详细信息,供高级用户在构建工作簿时使用。仅当使用 Tableau Desktop 打开性能记录工作簿时,才可以看到“详细视图”仪表板。
性能摘要
“性能摘要”仪表板包含三个视图:“时间表”、“事件”和“查询”。
时间线
性能摘要记录仪表板的最上方视图从左向右显示记录期间发生的事件(按时间先后顺序排列)。底部的轴显示自 Tableau 启动以来所经过的时间(以秒为单位)。
在“时间表”视图中,“工作簿”、“仪表板”和“工作表”列标识事件的上下文。“事件”列标识事件的性质,最后一列显示每个事件的持续时间以及按时间先后顺序与其他所记录事件的比较情况:
事件
性能摘要仪表板中的中间视图显示按持续时间排序(从最长到最短)的事件。持续时间较长的事件可在您希望加快使用工作簿的速度时帮助您确定最先查看的位置。
不同的颜色指示不同类型的事件。可记录的事件范围如下:
计算布局
如果布局所花的时间过长,请考虑简化工作簿。
连接到数据源
连接可能会因网络或数据库服务器问题而较慢。
编译查询
此事件捕获 Tableau 生成查询所花费的时间量。长时间的编译查询时间表示生成的查询很复杂。复杂可能是由于筛选器过多、计算复杂造成的,或者通常是由于工作簿复杂导致的。复杂计算的示例包括冗长计算、LOD 计算或嵌套计算。尝试简化工作簿,使用动作筛选器或将计算转移到基础数据库。
执行查询
对于实时连接,如果查询时间过长,则可能是因为没有为 Tableau 优化基本数据结构。请查阅数据库服务器文档。作为替代方案,可以考虑使用数据提取来加快性能。
对于数据提取,如果查询时间过长,请查看您使用的筛选器。如果有很多筛选器,那么上下文筛选器是否更有意义?如果有使用筛选器的仪表板,请考虑使用动作筛选器,这可能有助于改善性能。
生成数据提取
若要加快数据提取生成的速度,请考虑仅从原始数据源导入部分数据。例如,可以筛选特定的数据字段,或者创建基于指定行数或数据百分比的示例。
地理编码
若要加快地理编码性能,请尽量使用较少的数据或筛选出数据。
混合数据
若要加快数据混合,请尽量使用较少的数据或筛选出数据。
服务器呈现
通过在其他计算机上运行其他 VizQL Server 进程,可以加快服务器呈现。
查询
如果在性能摘要仪表板的“时间表”或“事件”部分中单击“正在执行查询”事件,则将在“查询”部分中显示该查询的文本。
如果连接到发布的数据源,则查询文本以 XML 格式显示。如果直接连接到数据源,则查询以 SQL 格式显示,如下所示:
如果有意义,则可以使用查询文本与您的数据库团队一起在数据库级别进行优化。有时,查询会被截断,您需要访问 Tableau 日志才能找到完整查询。大多数数据库服务器会向您提供有关如何通过添加索引或其他方法来优化查询的建议。有关详细信息,请参见数据库服务器文档。
有时为了提高效率,Tableau 会将多个查询合并为针对数据的单个查询。在这种情况下,对于空工作表您可能会看到“正在执行查询”事件,并且正在为指定工作表执行的查询为零个。
详细时间表
此视图是“时间表”视图的详细版本,用于显示所有事件和在“时间表”视图中分组的单独项目。它供高级用户在工作簿设计期间使用。
详细视图
“详细视图”仪表板包含“深度”、 “独占 CPU”、“包含 CPU”和“经过的时间”视图。
深度
“深度”视图是“详细视图”仪表板中最上面的视图,用于深入了解发出请求时发生的情况。 此视图在筛选为单个用户请求时最有用。用户请求的示例包括:加载视图、选择标记或更改筛选器。
“深度”视图上的每个条形表示单个活动。活动是在处理用户请求过程中完成的工作单元。单个用户请求会导致多个活动。“深度”视图上每个条形的长度与条形表示的活动的运行时间成正比。
高级活动显示在视图的顶部。较低级的活动是由高级活动生成的子活动。
将鼠标悬停在每个条形上提供有关活动的其他详细信息,并突出显示下一部分中介绍的“CPU”和“经过的时间”视图中的相应行。
为了缩小范围来确定请求的哪些部分所花的时间最多,请在最高级别调查长时间运行的活动。
“CPU”和“经过的时间”
“CPU”和“经过的时间”视图显示在“详细视图”仪表板中的最低级别。 您可以通过单击单选按钮在“独占 CPU”、“包含 CPU”和“经过的时间”视图之间切换。
尽管“深度”视图有助于快速直观地识别长时间运行的活动,但它不一定突出显示每个实例花费少量时间多次发生的活动。 “独占 CPU”、 “包含 CPU”和“经过的时间”视图提供每个活动的聚合统计信息。 活动发生的次数显示在“计数”列中,单个活动所花费的总时间使用条形图显示。