思路
是结构化的面向目标的
1.分析系统,记录问题
2.确认引起问题的原因
3.确定方法、目标
4.测试方法、效果
5.分析系统调整的结果
1.分析系统,记录问题
因考虑:
1.1.应用程序代码
1.2.oracle数据库参数等
1.3.操作系统参数
1.4.硬件(磁盘瓶颈)
1.5.网络
2.确认引起问题的原因
问题的种类:
2.1.破坏性(参数问题,创建db库是造成)
2.2.没有对数据库优化引起的性能问题。
2.3.不是系统调整所能解决的问题(负载)
问自己为什么来确定原因
2.1.问题的影响是什么?(响应时间?吞吐量?)
2.2.问题影响的范围?(用户数)
2.3.通过监控察看统计信息。
2.4.问题是否只出现在某一类事务中
2.5.是服务器还是客户端问题
3.确定方法、目标
3.1.应用程序设计于编码(关键、主要)
设计:
结构对象、事务连接管理、预期访问路径、搜索条件、连接条件、全表扫描、索引、分区……
编码:
复用代码、共享池中游标共享sql(cursor_sharing、绑定变量)……
3.2.DB配置
内存调整:实例的SGA,POOL,CACHE……
IO调整:全表扫描、回滚段……
竞争调整:等待事件、回滚段、自由表、锁……
操作系统调整:CPU、磁盘IO、交换空间、net带宽……
常见问题:
1.连接管理问题
2.游标使用问题
3.oracle的io管理不正确
4.重做日志太少(小),切换频率,磁盘io增大
5.高速缓存问题。回滚段太少、自由表值低->争用
6.长时间全表扫描。索引、统计信息等问题引起
7.磁盘排序。
8.递归sql。
9.初始化参数
10.不正确的硬件(网络组件、连接数等)
阅读(800) | 评论(0) | 转发(0) |