欢迎来到天天文库
浏览记录
ID:9499407
大小:59.50 KB
页数:8页
时间:2018-05-01
《oracle在solaris下的性能与调整简介》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Oracle在Solaris下的性能与调整简介 当一个系统运行缓慢性能下降的时候,很难知道原因是什么。是内存泄漏,磁盘子系统瓶颈,还是某个特定应用程序在可扩展性方面有限制?有一些途径可以发现和了解引起性能问题的根源,并且有可能消除它。 本文给出了从哪里入手的一些建议。文中介绍了如何着手性能方面的考虑以及如何定位常见的性能瓶颈,还介绍了与性能密切相关一些概念,比如私有的共享内存(ISM-IntimateSharedMemory)与优先内存页面调度。文章重点是放在Solaris2.6操作环境下。
2、 着手性能问题 性能,或许比计算机系统其它方面的行为更需要有通盘的考虑。为了识别来自一个或多个组件的问题根源,必须要采取结构化的方法。 实际的结果是,解决性能问题过程中最重要的一个部分是定义你正在试图解决的问题。从实际应用的方面来讲,这意味着定义一个操作或者测试用例,从而可以: A)知道系统当前有多快。 B)知道系统需要快X倍;或者知道系统曾经在不同环境下快过X倍。 设置基线是开始的第一步。性能分析是由简单明确地定义所需解决的问题开始的自上而下的一个过程。如果你想要一个系统运行
3、得快一些,你仍然需要定义这个系统的哪些属性是你想要改进的,以及哪些代价是你可以接受或者不可以接受的。除非你能够明确地描述出问题症状/机会,想要识别出问题的根源只会是碰运气。 性能分析很象是侦探工作,我们通过证据和观察建立事实依据,非常小心不要陷入预先想象的与事实不符的结论中只有在具备非常压倒性的证据时才确认猜想。 对所有假设都要怀疑。其他人声称的事实实际上只是个可能正确也可能不正确的假设。如果这个假设是错误的,你可能会是在不正确的依据下工作,从而得出不正确的结论。 这里有一些警告。So
4、laris操作环境在大多数情形下对于工作负荷的自我性能优化都是很好的。发行版本越新,需要手工做的性能优化就越少。性能问题的根源经常被发现是因为一个试图优化性能的行为引起的。首先需要注意应用程序,最后才是操作环境。 任何对系统配置的更改,比如象内存大小和磁盘布局这样的性能设置,都应该检查其当前的正确性。同样,一个带参数的系统升级也有可能对新操作环境的性能带来影响。 性能监测 1.从暴露出来的问题开始 什么操作使你看到性能问题的症状? 比如说,是特定类型的数据库查询,文件或网络操作
5、比你期望的慢?在给出测试用例方面你能把操作步骤做到多具体,例如一个SQL查询或者30行的C程序? 最大程度利用你的知识尽可能准确地说明什么地方出了什么问题以定义你的问题。良好的问题说明的例子就像这样: 一个SQL查询在VXFS上比在UFS上要花两倍的时间。 SVR4消息队列操作在操作环境版本A上比在操作环境版本B上要多花百分之30的时间。 登录进系统A比登录进系统Y多花三倍的时间。 一个问题说明不应该包括解决方法或者是可能的解决方法。 在大部分的时候,对问题有一个清晰的说明
6、就意味着完成了解决问题过程的一大半了。在对你试图解决的问题进行说明的时候考虑到用户观点的因素也很重要,这意味着要从应用程序的角度来看。这和人们的天性相反,人们总是通过实验试图去证明或者证伪一个可能的原因,而不是依据观察得到的事实来评估一个原因的可能性程度。 不恰当的问题说明就象这样: mpstat的/messages中有没有比如磁盘重试之类的硬件问题或者有没有额外的消息产生也是很有价值的。 察看系统的历史信息也非常有价值;如果你的系统曾经有过更好的性能,画一条时间曲线详细记录何时第一次
7、发现性能变差以及从什么时候开始性能一直很差。 2.知道你的系统在正常情况下会怎样 保存你的系统是如何正常运转的样例是一个好主意。你可以很容易地收集和保存每月的性能数据,比如: *stat类:vmstat,mpstat,iostat,vxstat,sar ps的输出以显示哪些进程在运行(在Solaris8操作环境下是prstat)。另外,有不少商业的和无支持的产品都可以用来做性能监测。一个免费的无支持的可选产品是SEToolkit(要获得其各种版本的信息,请看SunPerforman
8、ceSEToolkitpage)。SEToolkit报告磁盘活动、CPU利用情况、TCP和网络连接、内存,以及其他更多信息。在我们的经验里,它安装方便,不需要重启系统,并且生成容易理解的图形显示。 很多这类产品都存在一个共同的问题,就是对不同的硬件配置有不同的门限值。例如,特定的门限值对于400-MHz的系统可能显得太过,会让这个系统慢得象是在爬一样,但是对于一个900-MHz的系统却可能是可以接受的。 3.寻找性能瓶颈 一旦你已经定义了需要解决的性能问题,下一步骤就是缩
此文档下载收益归作者所有