10g online -database performance tuning guide -阅读系列笔记1

联机帮助文档 之 数据库性能优化向导
 database performance tuning guide
前言 preface

适用读者:
  oracle数据库性能优化向导,是负责管理,维护和优化数据库的人的一个工具。这本书描述了增强数据库性能的细节,通过写和优化合适的sql,实用性能优化工具来优化实例性能。也解释了如何创建一个性能最优的,并包含性能相关参数介绍信息的初始化数据库。这本书对于数据库管理者,应用设计者和程序员都是很有用的。


*************************************10.2版本更新的性能特征包括****************************************************
--active session history reports
ash报告
--automatic pga memory management
v$process_memory
--automatic shared memory management
sga 的内存相关参数通过自我调优算法进行调整,自动内存管理已经被增强,并且流池作为sga自动管理的一部分进行字都调整。
--automatic tuning of multiblock read count
多块读的自动调整,db_file_multiblock_read_count当此参数没有明确设置的时候 使用默认值。
--automatic workload repository reports
awr报告 显示了一个镜像范围的统计资料。增加了两个统计信息的视图,awrsqrpt.sql awrsqrpi.sql,对sql做详细的描述。
--configurable automatic workload repository sql collect
AWR 的收集,处理和维护优化统计信息都是为了问题的诊断和自身的调优为目的。包括sql的描述都会对对系统产生最高的负载这个功能增强了清空top sql数量的标准(经过时间,cpu时间,解析调用,共享内存和版本数量);

--enhanced end to end application tracing
端对端的应用跟踪可以识别一个过渡负载的资源,例如高负载的sql描述。这个功能已经增强到了对于会话级别,实例的范围或者整个数据库的级别中的sql进行追踪。


--improved system statistics
v$sysstat视图 增加了行去获取被任何oracle 进程作出的物理io总数。 并且,增加了新的等待事件到other wait class,来降低维护统计信息而使用的内存。

--sql access advisor
相关的包 dbms_advisor 推荐使用基于函数的索引 ,推荐的过程可以能被中断,并且在OEM中会有改善的地方。


--sql profiles
dbms_sqltune包 提供了允许sql在字面值不一样的时候使用绑定变量的方法共享sql的能力

--sql tuning advisor
使用新的v$advisor_progress视图去监视sql tuning advisor的执行进展。


--sql tuning sets
sql调优集能够从另外一个系统使用dbms_sqltune包中子程序进行导入导出

--v$sqlstats 视图
v$sqlstats 视图返回sql游标的性能的统计信息,v$sqlstats包含了出现在v$sql和v$sqlarea中的列的子集。然而,v$sqlstats不同于v$sql和v$sqlarea,它更快,更有扩展性,并且拥有较大的数据保存。在获取sql游标方面的作用,v$sqlstats被推荐去取代v$sql。

 


*****************************part 1 performance tuning****************************************************
第一部分 性能调优

第一部分提供了性能调优的介绍和概述

包含的章节:
+性能调优的介绍
--性能计划
---理解投资选项
---理解延展性
---系统体系结构
---应用设计原则
---工作负载测试 模型 和改善
---部署新的应用
--实例调优
--sql调优
+性能优化特征和工具
--Automatic Performance Tuning Features
--Additional Oracle Tools


~~~~~~~~~~~~~~~~~~~~~~~~~~~投资选项~~~~~~~~~~~~~~~~~~~~~~~~~~~~
由于低价高性能的处理器,内存和磁盘驱动的可用性,我们会倾向于买买更多的系统资源区提高性能,有时候,新的cpu,内存或者更多的磁盘驱动真的能提供性能上的立即提高。但是任何硬件上的性能提高应该被认为是对即时问题一种暂时的缓解。如果需求和负载率在应用上不断增长,你就很可能在不久的将来再次面对同样的问题。

另一种情况是,增加的硬件不能改善系统的性能,不管增加多少硬件设备,坏的设计总是导致低下的性能。在买增加设备的时候要保证没有多线程或者单线程会持续在应用中。长期来看,增加应用的效率会比增加物理资源的商业花费更加有价值。

~~~~~~~~~~~~~~~~~~~~~~理解延展性~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
延展性这个词总是在发展的环境中被使用。以下部分提供了延展性的解释,主要是针对应用设计者和性能专家。

什么是延展性?
延展性是说一个使用资源成比例增加的系统中,系统的能力足以处理更多的负载。换句话说如果你增加一倍的负载,系统会使用两倍的系统资源。,听起来很正常,但是由于系统内部的冲突,资源的使用可能超过原负载的两倍。

举例说明由于资源冲突导致的坏的扩展性:
--当用户数激增的时候,应用需要可观的并发管理
--增长的锁活动
--增长的数据量负载
--增长的操作系统负载
--随着数据量的增加,数据访问中的事务也需要增加。
--不好的sql和索引设计导致和获得行数相同的大量的逻辑IO。
--降低有效性 因为要花费更久的时间去维护这些数据路对象。


如果一个应用消耗的系统资源,当工作负载增加的时候,不能增加更大的吞吐量,那么这个以你够用就是非扩展性的。这种应用就会导致一个坏的响应时间。

资源耗尽包括下面的一些情况:
--硬盘耗尽
--大容量的表扫描引起必然的磁盘io短缺
--过度的网络请求导致网络和进程瓶颈
--内存分配引起页的换进换出
--过度的进程和线程分配导致操作系统崩溃

这就意味着应用的设计者的设计必须使用相同的资源,不管用户数量和数据容量多大,所有的负载都不会超过他们的限制。


系统的延展性
可通过因特网访问的应用有很多复杂的性能和可用性要求。一些应用就是为在因特网上应用而设计的,但是典型的办公室后台应用,例如普遍的分类账目应用可能会需要所有或者部分数据在线

网络时代应用的规格参数表如下:
--24小时 一天可用 365天 一年有效
--不稳定和不精确的同时在线用户数
--困难的容量规划
--多样的体系结构
--无状态的中间件
--迅速的发展
--极少的测试时间

2-1图显示了传统的负载增长曲线,应用的设计必须符合负载的增长
并且增加的硬件也必须支持增长的需求。设计错误可能导致执行达到它的最大值,而不考虑增长的硬件资源或者重设计的效果。

##也就是说应用的设计要为最后添加的硬件流出一部分资源,不能设计之初就是当时负载占用了全部的资源,那么到要添加硬件的时候就发现,没有资源可以利用了,所以连硬件资源都没法添加。##

在短时间和有效的测试以及评估之后的应用是不完美的,但是坏的设计普遍意味着未来的某一天,这个系统需要重新构造和执行。如果一个已知结构和执行闲置的应用部署在因特网上,并且如果负载超过了预计的需求,那就真正的失败了。从一个商业的角度,坏的性能就意味着会丢失客户,如果网络用户没有在几秒得到反馈,那么用户就永远失去这个耐心了。

有些情况下,重新设计系统的花费和down机时间的花费以及迁移到新的执行超过了适当建立初始的系统的花费。从道理上讲很简单,记住从一开始的时候就设计和实施好可扩展性。

 

阻止可扩展性的因素;

在建立应用的时候,设计师应该从一开始就致力于尽可能完美的设计科扩展性,有时称作线性规划,也就是系统吞吐量直接和cpu数量成正比。

现实中,线性规划师不可能的,因为超出了设计者的控制,但是如果尽可能的去设计应用的可扩展性,现在和将来性能都会通过硬件的扩展和cpu技术的演变而更加完美。

阻碍线性规划的因素包括
--坏的应用设计执行和配置
----坏的模式设计引起昂贵的sql代价
----坏的事务设计引起锁和连环问题
----坏的链接管理能引起坏的相应时间和不稳定的系统
----系统环境坏的io策略
----产品环境能够使用不同的在测试中生成的执行计划
----内存密集型应用部署到一个没有考虑运行时内存的大容量内存上能引起过度的内存使用。
----无效率的内存使用和内存缺乏在子系统引起高的内存压力,这影响性能和可用性。
--错误的硬盘组建的大小
--软件组建的限制
--硬件组建的限制

#######################系统结构##########################################
两个部分
硬件和软件组件
为需求配置正确的系统结构

(未完待续)

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24799772/viewspace-677650/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24799772/viewspace-677650/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值