确定问题的原因
采取纠正的动作
当你设计系统时,制定专门的目标;例如,响应时间小于3秒。当应用不能满足此
目标时,识别造成变慢的瓶颈(例如,I/O 竞争),确定原因,采取纠正动作。在开发
期间,你应测试应用研究,确定在采取应用之前是否满足设计的性能目标。
当你正在维护生产库系统时,有多种快速有效的方法来识别性能瓶颈。
不管怎样,调整通常是一系列开销。一旦你已确定了瓶颈,你可能要牺牲一些其它
方面的指标来达到所要的结果。例如,如果 I/O 有问题,你可能需要更多内存或磁盘。
如果不可能买,你可能要限制系统的并发性,来获取所需的性能。然而,如果你已经
明确地定义了性能的目标,那用什么来交换高性能的决策就变的很容易的,因为你已
经确定了哪些方面是最重要的,如过我的目标为高性能,可能牺牲一些空间资源。
随着应用的越来越庞大,硬件性能的提高,全面的调整应用逐渐变成代价高昂的行
为,在这样情况下,要取得最大的投入/效率之比,较好的办法是调整应用的关键部分,
使其达到比较高的性能,这样从总体上来说,整个系统的性能也是比较高的。这也就
是有名的 20/80 原则,调整应用的 20%(关键部分),能解决 80%的问题。
在设计和开发系统时作调整
良好设计的系统可以防止在应用生命周期中产生性能问题。系统设计人员和应用
开发人员必须了解 Oracle 的查询处理机制以便写出高效的 SQL 语句。“第 2 章 有效
的应用设计”讨论了你的系统中各种可用的配置,以及每种配置更适合哪种类型的应
用。“第 5 章 优化器”讨论了 Oracle 的查询优化器,以及如何写语句以获取最快的结
果。
当设计你的系统时,使用下列优化性能的准则:
消除客户机/服务器应用中不必要的网络传输。-- 使用存储过程。
使用适合你系统的相应 Oracle 服务器选件(例如,并行查询或分布式数据库)。
除非你的应用有特殊的需要,否则使用缺省的 Oracle 锁。
利用数据库记住应用模块,以便你能以每个模块为基础来追踪性能。
选择你的数据块的最佳大小。 -- 原则上来说大一些的性能较好。
分布你的数据,使得一个节点使用的数据本地存贮在该节点中。
调整产品系统
本节描述对应用系统快速、容易地找出性能瓶颈,并决定纠正动作的方法。这种方
法依赖于对 Oracle 服务器体系结构和特性的了解程度。在试图调整你的系统前,你应熟悉
Oracle 调整的内容。
为调整你已有的系统,遵从下列步骤:
调整操作系统的硬件和软件
通过查询 V $SESSION_WAIT 视图,识别性能的瓶颈,这个动态性能视图列
出了造成会话(session)等待的事件。
通过分析 V $SESSION_WAIT 中的数据,决定瓶颈的原因。
纠正存在的问题。
监控应用系统
这主要是通过监控 oracle 的动态视图来完成。
各种有用的动态视图:如 v$session_wait, v$session_event 等。
5
评论0
最新资源