- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
谁影响了性能】全面诊断
谁影响了性能】全面诊断 Cache buffers chains
作者简介
刘旭 云和恩墨性能优化专家长期服务于某大型移动运营厂 商的 SQL 审核项目,具有丰富的 SQL 审核售前和售后交付
经验
题记:这是某移动运营商在 SQL
题记:这是某移动运营商在 SQL 线下审核项目中
协助开发
商完善数据库性能的过程。以往开发商遇到此问题总是怀疑 是数据库的Bug,试图尝试重启 Tuxedo、Weblogic,严重时
甚至重启实例来缓解问题。经过下面的详细分析,你会发现
事实并非如此。详细诊断过程这是对于两个节点的RAC
事实并非如此。详细诊断过程这是对于两个节点的
RAC 环
境,数据库版本为 11.2.0.4 for HP-UX IA (64-bit )。在 2014
年 11 月 5 日 16 点至 18 点间,节点一的 CPU 使用率从平时
的 40%增长到 60%左右,部分业务办理缓慢甚至超时。经过
详细分析,发现是一个低效的、高并发的核心业务的SQL语句引起的。通过询问业务人员得知,业务系统从17:00
详细分析,发现是一个低效的、高并发的核心业务的
SQL
语句引起的。通过询问业务人员得知,业务系统从
17:00 至
17:30 感觉慢得更为明显,因此我们导出了该时间段节点 的 AWR 报告。
图显示了实例名为 crmdb21 的采样时间、 数据库版本、 CPU
个数和内存大小等概要信息,通过简单的换算 DB Time 和
确很忙。 Load Profile 中Elapsed 可知( 2807.24/29.7=94),这台 64
确很忙。 Load Profile 中
的 Logical read(blocks )973915.2/Per
Second 表明平均每秒产生的逻辑读 blocks 数约为 97 万,每 秒的逻辑读约有 7.6GB (973915*db_block_size=7.6GB/s ),
般来说, 逻辑读高 CPU 的使用率也会随之升高, 通常会在
Top 10 中出现诸如 latch: cache buffers chains、db filescattered read 等事件。 在 Top 10Foregrand Events by Total Wait Time 的
部分,可以看到在该时间段的主要等待事件是 latch:cache buffers chains 和 db filesequential read 。它们的 %DB Time 分
别占到 38.9%和 24.3%。后者代表单块读,是一种比较常见
的物理 IO 等待事件,通常在数据块从磁盘读入到相连的内 存空间中时发生,也可能是 SQL 语句使用了 selectivity 不高 的索引,从而导致访问了过多不必要的索引块或者使用了错 误的索引,这些等待说明 SQL 语句的执行计划可能不是最优 的。前者是导致数据库逻辑读高的根本原因,由此推断某个 或者某些 SQL 语句出现了性能衰变。
在接下来的 SQLStatistics 部分,分别截取了 SQL ordered by
Elapsed Time 和 SQL orderedby Gets,可以发现 SQL
Id=g5z291fcmwz08 的语句分别占了 42.50%的 DB Time 和
35.19%的逻辑读,而其他 SQL 所占的 DB Time 和逻辑读分
别在0.1%?5%。由此可以确定,就是该 SQL语句影响系统
性能,但还需要详细了解该 SQL 的执行计划、 绑定变量和当 时的逻辑读等信息。 SELECT TO_CHAR(A.CUSTID)
CUSTID, TO_CHAR(A.REGION) REGION,
A.CUSTNAME CUSTNAME, A.SHORTNAME
SHORTNAME, A.CUSTTYPE CUSTTYPE,
A.VIPTYPE VIPTYPE,TO_CHAR(A.FOREIGNER)FOREIGNER,A.CUSTCLASS1 CUSTCLASS1,A.CUSTCLASS2 CUSTCLASS2,A.NATIONALITY
A.VIPTYPE VIPTYPE,
TO_CHAR(A.FOREIGNER)
FOREIGNER,
A.CUSTCLASS1 CUSTCLASS1,
A.CUSTCLASS2 CUSTCLASS2,
A.NATIONALITY
NATIONALITY ,A.ADDRESS ADDRESS,A.CERTIDCERTID,A.CERTTYPE CERTTYPE,
NATIONALITY ,
A.ADDRESS ADDRESS,A.CERTID
CERTID,A.CERTTYPE CERTTYP
文档评论(0)