HANA 性能分析(二)SQL Cache

8 篇文章 1 订阅

关于SQL语句的性能分析,本文中仅从运维角度出发,并不包括SQL语句的优化分析,如执行计划,visualize plan的分析等。

首先是Performance页面里的两个tab,SQL cache 和 Expensive Statements。

如性能分析的第一篇提到的,这个页面不太灵活,反应也很慢,还是直接用SQL语句查询具体视图比较好。当然,利用SAP NOTE 1969700中的SQL语句也可以获取相关信息。

SQL Cache 分析

先上参考Note:

  • 2502256 - FAQ: SAP HANA Caches
  • 2000002 - FAQ: SAP HANA SQL Optimization
  • 2040002 - Size recommendation for the HANA SQL Plan Cache

HANA中的cache种类有很多,这里的SQL cache,指的是SQL plan cache,也就是执行SQL语句前,执行计划和SQL语句解析(SQL parsing)的缓存。Cache size的具体设置也要取决于HANA的上层应用,ABAP,JAVA或者Standalone不尽相同。

如果HANA告警中出现了如下几个:

  • ID58 Plan cache size
  • ID81 Cached view size
  • ID91 Plan cache hit ratio

说明SQL cache需要进一步分析,有调整的空间。

SQL Cache的分析

SAP提供的一些SQL语句可以帮助定位问题。比如HANA_SQL_SQLCache_TopLists:
SQLCache_TopList
这个报告会输出占用资源较多的SQL语句,按照执行时间,准备时间,调用线程等多个维度分别排序,可以定位到潜在的问题语句。使用语句的哈希值定位语句(去M_SQL_PLAN_CACHE或者HOST_SQL_PLAN_CACHE里面可以找到具体的语句内容)
TP列指的是语句类型,比如SE是查询,IN是插入等等。SO列是语句来源(ABAP/DS/Crystal Report之类之类)最后一列是百分比。

另外一个语句是HANA_SQL_SQLCache_Overview,这个是用来查看SQL cache的使用状况的,输出样例如图:

SQLCacheOverview
其中CONF_GB为当前Cache大小,默认值为2GB。USED_GB为使用量,USED_PCT为使用率,后面两列是推荐值,根据上层应用区分(ABAP/NONABAP)HIT_PCT为命中率。
后面的条目有个小概念,Eviction。其实就是swap,条目会因为一些原因从缓存中移除。EVICT_PER_H就是每小时Eviction数量。如图观察,这个数据的Cache其实是设大了,可以调小一点。

还有一个语句是HANA_SQL_SQLCache,可以用来查看cache条目失效的原因。输出样例如图:
SQLCache
INV_REASON指失效原因,其中cache full是指因cache满而swap out的条目,如果cache full比例较大,且前面视图中显示的命中率不高的话,可以考虑增加cache的大小。还有一个值得提到的原因,是LOW_SCORE,这个涉及到一个机制,叫做aggresive eviction。相当于在SQL Cache还有空间的情况下,主动移除一些系统认为价值不大的缓存语句。这是HANA的一个新功能,2.0 SPS04后面默认开启,如果这个条目占比较高,可尝试关掉并观察命中率的变化。

Cache相关视图:

  • M_SQL_PLAN_CACHE
  • M_SQL_PLAN_STATISTICS
  • M_SQL_PLAN_CACHE_RESET(M_SQL_PLAN_CACHE的可清零版本,比如想分析某段时间的sql cache,可先把此视图reset,之后分析从这个视图上收集到的信息即可)
  • HOST_SQL_PLAN_CACHE
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值