Oracle在Solaris下的性能与调整简介 (1)
当一个系统运行缓慢性能下降的时候,很难知道原因是什么。是内存泄漏,磁盘子系统瓶颈,还是某个特定应用程序在可扩展性方面有限制?有一些途径可以发现和了解引起性能问题的根源,并且有可能消除它。
本文给出了从哪里入手的一些建议。文中介绍了如何着手性能方面的考虑以及如何定位常见的性能瓶颈,还介绍了与性能密切相关一些概念,比如私有的共享内存(ISM-Intimate Shared Memory)与优先内存页面调度。文章重点是放在Solaris 2.6操作环境下。
着手性能问题
性能,或许比计算机系统其它方面的行为更需要有通盘的考虑。为了识别来自一个或多个组件的问题根源,必须要采取结构化的方法。
实际的结果是,解决性能问题过程中最重要的一个部分是定义你正在试图解决的问题。从实际应用的方面来讲,这意味着定义一个操作或者测试用例,从而可以:
A) 知道系统当前有多快。
B) 知道系统需要快"X"倍;或者知道系统曾经在不同环境下快过"X"倍。
设置基线是开始的第一步。性能分析是由简单明确地定义所需解决的问题开始的自上而下的一个过程。如果你想要一个系统运行得快一些,你仍然需要定义这个系统的哪些属性是你想要改进的,以及哪些代价是你可以接受或者不可以接受的。除非你能够明确地描述出问题症状/机会,想要识别出问题的根源只会是碰运气。
性能分析很象是侦探工作,我们通过证据和观察建立事实依据,非常小心不要陷入预先想象的与事实不符的结论中——只有在具备非常压倒性的证据时才确认猜想。
对所有假设都要怀疑。其他人声称的事实实际上只是个可能正确也可能不正确的假设。如果这个假设是错误的,你可能会是在不正确的依据下工作,从而得出不正确的结论。
这里有一些警告。Solaris操作环境在大多数情形下对于工作负荷的自我性能优化都是很好的。发行版本越新,需要手工做的性能优化就越少。性能问题的根源经常被发现是因为一个试图优化性能的行为引起的。首先需要注意应用程序,最后才是操作环境。
任何对系统配置的更改,比如象内存大小和磁盘布局这样的性能设置,都应该检查其当前的正确性。同样,一个带参数的系统升级也有可能对新操作环境的性能带来影响。
性能监测
1. 从暴露出来的问题开始
什么操作使你看到性能问题的症状?
比如说,是特定类型的数据库查询,文件或网络操作比你期望的慢?在给出测试用例方面你能把操作步骤做到多具体,例如一个SQL查询或者30行的C程序?
最大程度利用你的知识尽可能准确地说明“什么地方出了什么问题”以定义你的问题。良好的问题说明的例子就像这样:
一个SQL查询在VXFS上比在UFS上要花两倍的时间。
SVR4消息队列操作在操作环境版本A上比在操作环境版本B上要多花百分之30的时间。
登录进系统A比登录进系统Y多花三倍的时间。
一个问题说明不应该包括解决方法或者是可能的解决方法。
在大部分的时候,对问题有一个清晰的说明就意味着完成了解决问题过程的一大半了。在对你试图解决的问题进行说明的时候考虑到用户观点的因素也很重要,这意味着要从应用程序的角度来看。这和人们的天性相反,人们总是通过实验试图去证明或者证伪一个可能的原因,而不是依据观察得到的事实来评估一个原因的可能性程度。
不恰当的问题说明就象这样:
mpstat的"wt"列表明等待时间过多。
用户任务花时间太长。
一个系统和它的应用程序的功能正确性问题与性能问题之间的边界往往是一个灰色地带。整个系统挂起与进程挂起的问题不在本文讨论范围之内。如果你怀疑系统的功能不正确,而不是性能问题,那么给你的SUN解决方案中心打电话以找到一个解决问题的方法。高性能系统的前提是它的功能首先要正确。
作为你积极的维护计划的一部分,检查/var/adm/messages中有没有比如磁盘重试之类的硬件问题或者有没有额外的消息产生也是很有价值的。
察看系统的历史信息也非常有价值;如果你的系统曾经有过更好的性能,画一条时间曲线详细记录何时第一次发现性能变差以及从什么时候开始性能一直很差。
2. 知道你的系统在正常情况下会怎样
保存你的系统是如何正常运转的样例是一个好主意。你可以很容易地收集和保存每月的性能数据,比如:
*stat类:vmstat, mpstat, iostat, vxstat,sar
ps的输出以显示哪些进程在运行 (在Solaris 8操作环境下是prstat)。另外,有不少商业的和无支持的产品都可以用来做性能监测。一个免费的无支持的可选产品是SE Toolkit(要获得其各种版本的信息,请看Sun Performance SE Toolkit page)。SE Toolkit报告磁盘活动、CPU利用情况、TCP和网络连接、内存,以及其他更多信息。在我们的经验里,它安装方便,不需要重启系统,并且生成容易理解的图形显示。
很多这类产品都存在一个共同的问题,就是对不同的硬件配置有不同的门限值。例如,特定的门限值对于400-MHz的系统可能显得太过,会让这个系统慢得象是在爬一样,但是对于一个900-MHz的系统却可能是可以接受的。
分享到:
相关推荐
### Oracle在Solaris下的安装与配置详解 #### 引言 在Solaris操作系统上安装Oracle数据库是一项技术性较高的任务,需要对系统资源、用户账户、目录结构和系统参数有深入的理解。本文将根据提供的文件信息,详细...
总的来说,Oracle9i在SUN Solaris下的安装涉及用户创建、目录结构规划、内核参数调整、环境变量配置、硬件资源检查以及安装程序的执行等多个环节。每个步骤都需要仔细操作,以确保数据库的稳定运行和高效性能。
在 Solaris 9 操作系统上安装 Oracle 9i 是一项技术性较强的任务,涉及到操作系统配置、硬件兼容性、数据库安装以及后期管理等多个方面。以下将详细介绍这一过程的关键知识点: 1. **系统要求**:首先,确保你的 ...
为了优化Oracle数据库性能,需要调整某些内核参数,如最大文件句柄数、共享内存段大小等。 #### 使用不同工具配置Oracle数据库访问 - **使用Solaris Volume Manager** Solaris Volume Manager提供了一种灵活的...
Oracle Solaris 11是Oracle公司推出的一款先进的操作系统,它在Oracle Solaris 10的基础上进行了大量改进和创新,以提供更高效、安全和可扩展的计算环境。本文将详细介绍从Oracle Solaris 10向Oracle Solaris 11过渡...
"Solaris 11.4 + Oracle 11g RAC 安装指南" 本文档旨在指导用户在 Solaris 11.4 操作系统上安装 ...通过以上步骤,可以实现 Oracle 11g RAC 在 Solaris 11.4 操作系统上的安装和配置,提高系统的高可用性和高性能。
- **Oracle 数据库软件**:在 Solaris 平台上安装和配置 Oracle 数据库时,需要考虑的因素包括内存管理、I/O 性能、网络配置等。 ##### 性能调优 1. **内存优化**: - **SGA 和 PGA 设置**:合理设置共享全局区 ...
Oracle数据库在Unix操作系统环境下的应用,特别是针对Solaris和AIX平台,是企业级数据库解决方案的重要组成部分。这两个Unix变体以其稳定性和性能而受到大型企业的青睐。本压缩包中的"Oracle For Solaris & AIX.pdf...
在 Solaris10 上安装Oracle10G 数据库涉及到一系列的系统配置和步骤,与在 Linux 平台上有一定的相似性,但也有其独特的特点。以下是详细的知识点说明: 1. **软件包的缺失与补丁**: 在 Solaris10 中,相较于 ...
《Oracle Solaris 11 Oracle Solaris Administration: SAN配置与多路径》 Oracle Solaris 11 是一款广泛使用的操作系统,特别适用于企业级服务器环境,它提供了强大的系统管理功能,包括存储区域网络(SAN)配置和...
该书详细介绍了在Oracle Solaris 11.2环境下如何管理和操作文件系统,适用于系统管理员、开发者以及对Oracle Solaris操作系统有深入需求的用户。 文件系统是操作系统的核心组成部分,它负责组织和管理存储设备上的...
在Solaris下安装Oracle9i是一项复杂而精细的任务,涉及到系统的多方面配置与优化,以确保数据库能够稳定、高效地运行。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,旨在为在Solaris环境下部署Oracle...
6. **性能优化**:利用Solaris的DTrace工具进行性能分析和调优,同时学习Oracle的性能优化技巧,如SQL优化、数据库参数调整。 7. **备份与恢复**:掌握Oracle的备份策略,如使用RMAN(Recovery Manager)和Data ...
Oracle Solaris 11.1 是Oracle公司推出的下一代操作系统,旨在提供更高级别的性能、安全性和可管理性,相比Oracle Solaris 10有显著改进和新增功能。过渡到Oracle Solaris 11.1的过程涉及到一系列技术更新和迁移策略...
本指南基于《Solaris Tunable Parameters Reference Manual》(Solaris可调参数参考手册)的内容,将详细介绍与Solaris 10性能调优相关的知识点,旨在帮助具有一定经验的系统管理员更好地理解和应用这些技术。...
Oracle Solaris 8虽然相对较老,但其容器和Zone技术仍然具有广泛的实用价值,特别是在需要向更现代的Solaris版本迁移之前,或者在需要在有限的硬件资源上最大化效率的场景下。了解和掌握这些技术对于任何负责维护和...
Oracle Solaris 11.3 是一款先进的操作系统,尤其在目录和命名服务方面,它集成了轻量级目录访问协议(LDAP)。Oracle Solaris 11.3 的目录服务允许组织管理和存储用户、组和其他系统资源的信息,为网络环境提供了一...
Oracle Solaris是一个强大的企业级操作系统,尤其在资源管理方面表现出色,这使得它成为运行关键业务应用的理想选择。 资源管理主要涉及对系统资源如CPU、内存、I/O带宽等的控制,以确保系统性能的稳定性和安全性。...
本文档《Oracle Solaris 11.2 Working With Oracle Solaris 11.2 Directory and Naming Services: DNS and NIS-132》详细介绍了在Oracle Solaris 11.2中如何操作和管理目录服务以及命名服务,特别是DNS(Domain Name...