如何分析报表性能问题?

新农商网 全部 1035

如何分析报表性能问题?

回复

共1条回复 我来回复
  • 知了学飞
    知了学飞
    这个人很懒,什么都没有留下~
    评论

    总的分析思路:从底层往顶层分析

    服务器硬件、网络带宽、报表系统架构、sql技术水平等等。


    服务器硬件配置评估

    如服务器品牌,CPU、内存、闪盘硬盘等,询问同行或者供应商配置水平情况。

    用户的电脑的CPU和内存配置也要简单评估。


    网络带宽评估

    如果报表是内网的,也要评估内网网络的通畅情况。


    系统技术性评估

    1.建立监控机制

    收集报表运行耗时、频率、时机,收集对应时间段CPU,内存,IO等关键硬件信息。我们使用的是Oracle数据库,在后台启用AWR报表来监控程序运行和硬件情况,另外使用zabbix定期监控硬件运行情况。

    2.抓出关键问题

    通过第1步的监控,我们就能获取哪些报表程序运行得差,可以有针对性地思考解决办法。这里需要考虑的点就比较多了:

    • 数据量大小

    • sql书写水平

    • 后台表设计的合理性,是否契合业务模型

    • 查询条件对应的索引设计

    • ......

    这些可以通过查看sql的执行计划,来点对点进行分析、解决。

    如果报表是用内存数据库,比如hana,Oracle 12c等等,在sql执行计划方面需要关注,但更多地是关注表设计和报表业务逻辑算法,尽可能使用表关联并发的方式开发。

    运用以上思路和方式,基本可解决80%的报表性能问题。希望能帮助到你,谢谢!

    2019-04-06 13:33:13 0条评论