2020亿信ABI

亿信ABI计算优化策略宝典

  如果后续遇到新的性能问题,有新的技巧和具体解决方法的,建议提炼后更新维护到此文档中,以便给实施做表人员更多参考。

分主题建模(含数据库、SQL)、分析表常识与技巧、特殊设置

  1. 【JVM参数设置】jvm启动参数,设置合理的-Xmx -Xms等参数;
  2. 【参数设置】分析库在数据源中,设置合理的最大活动连接数等参数,以充分利用数据库服务器查询性能; 
  3. 【参数设置】系统库在配置工作目录中的jdbc.conf时,设置合理的最大活动连接数等参数,以充分利用数据库服务器查询性能;
  4. 【参数设置】在系统管理-系统设置-性能与维护-线程池-线程池设置中,设置合理的最大线程数和计算分析表数目;
  5. 【参数设置】导出时,根据内存情况,设置合理的导出参数:/root/products/ebi/sys/conf/exportprintlimits.conf,避免消耗过大内存而导致服务器可用资源过少;
  6. 【主题建模】支持星型模型,多表关联时,优先采用一致性维度,优先过滤分组后进行多表关联、优先采用主源表字段转换为同表字段查询;(已自动固定开启此优化)
  7. 【主题建模】主题建模优化,根据数仓理论,采用合理的模型,对主题进行合理的划分,规划好维度和指标;(需要根据需求场景进行合理规划主题建模,尤其是主题多、场景多时)
  8. 【SQL运算VS内存运算】对于数据库很强,中间件相对较差的情况,尽量多采用并行计算,发起并发查询,充分利用数据库性能;(结合现场环境软硬件输入要素决定)
  9. 【数据库表设计】数据库表进行合理的分区、索引,以加快常用过滤字段、分组字段、排序字段的查询效率;
  10. 【特殊设置-列元信息】对于非i@Report物理表,且BTYPE_字段无特殊业务含义的场景,加上@bbhtype=1报表参数,以减少获取各数据库表列元信息耗时;
  11. 【特殊设置-列元信息】对于字符串型日期字段作为数据期字段过滤的场景,参考wiki:计算时获取主题表字符串日期字段格式优化使用说明文档;
  12. 【SQL查询优化】分析计算详情日志,针对SQL调优、经过SQL调优,采用SQL数据源;
  13. 【简化】减少嵌套和交叉层次,尽量采用平级的结构(变通用钻取等方式去看其他层级、切片数据);
  14. 【简化】如无必要,尽量减少分页数、列数、表格规模,减少单页内页面元素个数;
  15. 【简化】尽量只进行单表查询(同源),并设置管理合理的索引;
  16. 【简化】保持分析表页面结构简洁明了,进行合理的功能区划分拆分和分析需求划分拆分;
  17. 【简化】通过建模、制作分析表过程,减少表关联,减少子Olap、子SQL(子查询)。
  18. 【缓存】设置并使用多级缓存、高效外部缓存,借用高效的外部资源分摊减轻中间件、数据库压力。(TODO:需要根据特定场景按需要添加,目前没有额外借用外部高效缓存,目前计算过程也没有拆分出多级缓存)
  19. 【做表】固定维优化-不勾选禁止内存计算,针对大量固定维用相同主题表、相似过滤条件字段场景。
  20. 【做表】临时表优化,针对TODO场景。
  21. 【做表】优先使用本表字段优化。(代码已自动固定开启,有一定副作用,与6相关)
  22. 【做表】本地维优化。(代码已自动固定开启,有一定副作用,与6相关)
  23. 【做表】一致性维度。(代码已自动固定开启,有一定副作用,与6相关)
  24. 【做表】先分组后连接,勾选了“指标”且设置有特殊过滤条件、连接方式的表元、指标。
  25. 【做表】不勾选“指标”,减少非必要子查询。
  26. 【导出】导出时计算优化,去掉不必要的过程。(代码已做了大部分处理)
  27. 【导出】相同参数短时间内高并发导出优化。(已自动固定开启此优化)

附件列表

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇亿信ABI报表模板添加字体

下一篇

请先登录