Oracle数据库性能优化概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
02 现象:内存资源不足
故障现象:内存资源严重不足,系统产生大量交换。 登陆主机非常缓慢。
02 现象:I/O资源不足
故障现象:I/O资源不足。表现为磁盘busy 程度为 100%或者响应时间为大几十ms甚至几百ms。如下 所示:
02 现象:网络资源堵塞
故障现象:AWR报告显示数据库性能严重出现问题。
Logon Time。 • Logon Response Time Per Logon:= Logon Response Time / Logons
02 案例之登录访问
登录流程: 例: 现象:某运营商发现从早上就开始接到大量的营帐业务系统性能恶化的投诉 和抱怨,主要投诉集中在通过账务系统访问CRM系统的业务处理之中。手工 发起连接到CRM系统的登录响应也非常慢,从CRM系统的Listener.log以及 Session跟踪可以发现每秒超过100多个Listener连接发起,绝大部分都来自于 账务系统的Database link连接。通过业务变化确认,比较昨天的业务,今天 的业务增加了关闭database link的操作,以降低CRM系统的Session数量。
智慧IT
Oracle数据库性能优化概述
技术创新,变革未来
目录 Contents
01 性能优化方法概略 02 性能优化之登录 03 性能优化之资源 04 性能优化之锁
02 性能优化探讨
• 原因:WHY为什么? • 慢(响应时间) • 慢(吞吐量) • 就想做个优化
02 我们经常遇到的问题
Client
02 案例之登录访问
诊断: 数据库服务器本机进行tnsping操作达到了1000ms+ 数据库的Listener的CPU占用率比较高
应急处理: 应急处理为通过增加Listener数量以均衡负载,增加Listener的总处理能力, 渡过白天业务周期
测试: 在业务周期结束之后,我们对于CRM的Listener进行了人工模拟的数据库登录 并发压力测试,在每秒并发数量达到100+之后,Tnsping的Listener响应迅速 增加到1000ms+以上,验证了Listener处理能力不足猜测的正确性。
定位
基线
建立各种性能基线(方便寻找变化), 相当于一个健康人的体检指标
数据库性
监控
能优化
预警
监控数据库各个组件健康运行状态
自动化运维平 台
及时预警各类非正常的组件及指标
Biblioteka Baidu
自动化、标准化、内置专家系统
02 性能问题常见原因
性能问题症状
前台业务很卡
后台报表很慢
Oracle bug
高频SQL
数据块争用
Latch争用 Mutex争用 Lock争用
主机的四大资源
一直在更新换代
CPU资源
内存资源
I/O资源
网络资源
02 主机资源的三角关系
运行队列 等待队列 上下文切换能力 空闲率
内存容量 内存交换
内存资源
内存空闲
吞吐量 IOPS
响应时间 存储容量 I/O空闲率
02 CPU资源快速发展:Intel 志强E7与POWER 8之争
02 I/O资源:闪存的快速发展
02 网络资源:IB网络的快速发展
带宽
100Gb/s
160/200Gb/s
56Gb/s 40Gb/s 20Gb/s 10Gb/s
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
Same Software Interface
嘿!数据库出问题了!
Network
网络供应商
• 大家都在尽可能的 推卸责任
• 甲方很难沟通和协 调
OS供应商
OS
数据库厂商
H/W
硬件供应商
Database
中间件厂商
增加硬件 可以解决问题
Middle-ware
应用开发商
Application
02 性能优化要点
要点:丰富的知识储备,可量化,可比较
性能问题典型特点为不报错,需在 错综复杂的环境中快速定位故障
数据库参数不合理 主机参数不合理 硬件架构
历史数据积压
调度不合理
对象设计不合理
硬件性能瓶颈 长长的串行逻辑 全表扫描
执行计划异常
02 诊断数据库性能的三把利剑:AWR,ASH,ADDM
02 系统极限
a 吞吐量到达突变之后,响应时间急剧上升。 b 系统性能优化的目标就是让突变点尽可能后移。
02 性能优化探讨
02 案例之登录访问
• 登录输入指标测量 • Logons:= EndSnap. logons cumulative– StartSnap. logons
cumulative。 • Logons Per Second:= Logons / TimeInterval
02 案例之登录访问
• 登录输出指标测量: • Logon Response Time:= Network Response Time * 10 + Native TCP Logon • :=Network Response Time * 10 + Listener Response Time + Native IPC
02 性能优化之案例
• 案例之登录访问 • 案例之资源 • 案例之锁
02 性能优化方法论发展
版本
方法论
Oracle 7 Oracle 8 Oracle 8i Oracle 9i Oracle 10g Oracle 11g Oracle 12c Oracle18c
基于命中率 出现OWI OWI成熟 TBA及基线管理 完善TBA 持续完善TBA 自动化 持续完善自动化
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
5usec
2.5usec
1.3usec
0.7usec
延时
0.5usec
<0.5usec
02 现象:CPU资源不足
故障现象:CPU资源空闲率严重不足,监控日志显示如下:
02 案例之登录访问
• Listener的并发处理能力是有限制的,而且并不是很高。 • 数据库登录的整个流程即使正常运行也经常达到180ms+。 • 关闭Database link使得Database link访问变成每次访问都需要连接数据
库,从而使数据库登录的响应时间纳入了业务响应的时间范畴之内。