1. HENGSHI SENSE 产品使用性能问题指引

1.1. 数据集操作指南

  1. 避免在“多表联合”,“数据聚合”,“数据合并” 三种类型的数据集上,建立不用于分析的聚合类型的新增字段。因为这三种数据集在查询时实时做联合、聚合、合并计算,在最终数据集上新建聚合字段(如sum, avg等),聚合字段个数会以倍数关系增加数据集的成本。(比如 A join B -> C, 在C上新增三个聚合字段,此时C在查询时复杂度为 3(三个聚合字段引入的倍数)+1(本来A与B的join) = 4 倍的join代价 ))。可以考虑在Chart的计算指标里加上聚合类型的函数
  2. 避免“多表联合”,“数据聚合”,“数据合并” 三种类型的数据集嵌套多层。因为这三种数据集在查询时是实时做联合、聚合、合并计算,构造的层数越多,生成的代价越大,分析越慢。如果生成过程无法简化,可以考虑:1.) 对最终数据集打开“开启加速引擎”,系统会将数据集生成的结果固化下来,下次查询时不再实时生成数据集。(注意:开启加速引擎后数据集基本权限为数据集所有者权限,后续各种权限设置都是基于这个基础之上) 2.) 将复杂的生成过程在源数据库中实现,生成一张客户业务数据库内的表,在这个结果表上建立数据集。

1.2. 仪表盘操作指南

  1. 单个仪表盘建议包含Chart的数量在20以内,太多的Chart会加重后端数据源查询的压力和前端的页面渲染压力
  2. 在编辑Chart的过程中,在维度、对比维度(表格)等字段的选择上,需要选取distinct value较少的字段;否则,会导致可视化效果较差,同时加重性能问题
    1. 所谓distinct value,是指这个字段在数据源的取值去重个数
  3. 点击仪表盘和图表页面的刷新按钮,系统将绕过可能有的缓存,重新下推查询到数据源(看是否导入引擎)获取结果数据,然后在页面渲染展示

1.3. 系统设置性能相关

  1. 系统设置里有“图表数据缓存周期”,当在这个周期时,重复的查询,除了第一次,后续都会走缓存,不会下推到数据源,不消耗系统资源。用户可以考虑根据自己的业务场景,对此做相应设置,比如如果分析都是T+1模式的,可以将这个数值设置为86400,这样一天的重复查询都将不消耗系统资源。

备注:

  1. 性能随并发情况线性上升,这个并发也就是同时查询的语句数,和并发人数,同时打开的Dashboard页面,Dashboard页面的Chart数都密切相关。

results matching ""

    No results matching ""

    使用场景 HENGSHI SENSE 可视化创作中如何引入数据集市的成果