3. 寻找性能瓶颈
一旦你已经定义了需要解决的性能问题,下一步骤就是缩小范围到瓶颈产生的地方。
这个阶段有必要问这样一些问题:
应用程序能告诉我它看到哪些是瓶颈?拿Oracle作例子,一个Oracle数据库管理员应该知道BSTAT/ESTATS是什么以及如何运行和理解它们。还是那句话,从应用程序的角度来看问题,BSTATS/ESTATS可以显示限制了Oralce性能的瓶颈,这可以作为进一步分析的指导。
大部分的时间花在哪里,是内核还是用户进程?通过vmstat、mpstat、sar、ps、prstat可以回答这个问题。
具有相近类型的所有资源是否同样繁忙?这个问题的意义在于寻找资源的不平等分布。比如,一个磁盘可能是瓶颈所在,或者一个CPU会比其他CPU更忙。对CPU,看mpstat。对磁盘,用iostat。 哪个或哪些进程在使用最多的资源?用这些命令可以看到使用CPU和内存最多的进程:
ps -eo pid,pcpu,args | sort +1n
|
CPU百分比:
ps -eo pid,vsz,args | sort +1n |
K字节的虚拟内存:
输出被排序,使用CPU和内存最多的进程排在上面。
Solaris 8操作环境提供了prstat,它给出CPU和内存使用情况的一个动态注解。prstat -cvm的输出结果非常有用。
我们现在来看看怎用使常见的Solaris命令来开始性能分析。
vmstat命令是简单的。这里我们可以看到一个对于正在执行的应用程序,CPU能力不足的例子。
% vmstat 15
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr m0 m1 m2 m3 in sy cs us sy id
45 0 0 2887216 182104 3 707 449 6 455 0 80 2 6 1 0 1531 5797 983 61 30 9
58 0 0 2831312 46408 5 983 582 56 3211 0 492 0 0 0 0 1413 4797 1027 69 31 0
55 0 0 2830944 56064 2 649 656 3 806 0 121 0 0 0 0 1441 4627 989 69 31 0
57 0 0 2827704 48760 4 818 723 6 800 0 121 0 0 1 0 1606 4316 1160 66 34 0
56 0 0 2824712 47512 6 857 604 56 1736 0 261 0 0 1 0 1584 4939 1086 68 32 0
58 0 0 2813400 47056 7 856 673 33 2374 0 355 0 0 0 0 1676 5112 1114 70 30 0
60 1 0 2816712 49464 7 861 720 6 731 0 110 7 0 3 0 2329 6131 1067 64 36 0
58 0 0 2817552 48392 4 585 521 0 996 0 146 0 0 0 0 1357 6724 1059 71 29 0 |
vmstat输出的第一行总是可以忽略。在"procs"下面标着"r"的一列是等待获得CPU的进程运行队列中的进程数。"id"列是CPU空闲时间。这台机器没有足够的CPU资源以满足进程运行的需要,这可以从它的大部分CPU时间花在用户空间里看出来(看"us"列)。
这里有两种办法可供采用——第一,增加更多的CPU,或者第二,对应用程序的代码作性能分析看看是不是应用程序的某部分可以优化。对代码片断作优化可能会需要非常大量的努力——而且有时候收到的效果很少。在关系到时间的时候,最好在考虑你可能的“投资回报”时现实一点。
相关推荐
当一个系统运行缓慢性能下降的时候,很难知道原因是什么。是内存泄漏,磁盘子系统瓶颈,还是某个特定应用程序在可扩展性方面有限制?有一些途径可以发现和了解引起性能问题的...文章重点是放在Solaris 2.6操作环境下。
### Oracle在Solaris下的安装与配置详解 #### 引言 在Solaris操作系统上安装Oracle数据库是一项技术性较高的任务,需要对系统资源、用户账户、目录结构和系统参数有深入的理解。本文将根据提供的文件信息,详细...
总的来说,Oracle9i在SUN Solaris下的安装涉及用户创建、目录结构规划、内核参数调整、环境变量配置、硬件资源检查以及安装程序的执行等多个环节。每个步骤都需要仔细操作,以确保数据库的稳定运行和高效性能。
在 Solaris 9 操作系统上安装 Oracle 9i 是一项技术性较强的任务,涉及到操作系统配置、硬件兼容性、数据库安装以及后期管理等多个方面。以下将详细介绍这一过程的关键知识点: 1. **系统要求**:首先,确保你的 ...
"Solaris 11.4 + Oracle 11g RAC 安装指南" 本文档旨在指导用户在 Solaris 11.4 操作系统上安装 ...通过以上步骤,可以实现 Oracle 11g RAC 在 Solaris 11.4 操作系统上的安装和配置,提高系统的高可用性和高性能。
为了优化Oracle数据库性能,需要调整某些内核参数,如最大文件句柄数、共享内存段大小等。 #### 使用不同工具配置Oracle数据库访问 - **使用Solaris Volume Manager** Solaris Volume Manager提供了一种灵活的...
为了优化系统性能和满足 Oracle 的安装要求,还需要对 Solaris 系统的一些关键参数进行调整。具体步骤如下: 1. **备份 `/etc/system` 文件** ```bash bash-3.2# cp /etc/system /etc/system.orig ``` 2. **...
Oracle Solaris 11是Oracle公司推出的一款先进的操作系统,它在Oracle Solaris 10的基础上进行了大量改进和创新,以提供更高效、安全和可扩展的计算环境。本文将详细介绍从Oracle Solaris 10向Oracle Solaris 11过渡...
在 Solaris10 上安装Oracle10G 数据库涉及到一系列的系统配置和步骤,与在 Linux 平台上有一定的相似性,但也有其独特的特点。以下是详细的知识点说明: 1. **软件包的缺失与补丁**: 在 Solaris10 中,相较于 ...
- **Oracle 数据库软件**:在 Solaris 平台上安装和配置 Oracle 数据库时,需要考虑的因素包括内存管理、I/O 性能、网络配置等。 ##### 性能调优 1. **内存优化**: - **SGA 和 PGA 设置**:合理设置共享全局区 ...
Oracle数据库在Unix操作系统环境下的应用,特别是针对Solaris和AIX平台,是企业级数据库解决方案的重要组成部分。这两个Unix变体以其稳定性和性能而受到大型企业的青睐。本压缩包中的"Oracle For Solaris & AIX.pdf...
《Oracle Solaris 11 Oracle Solaris Administration: SAN配置与多路径》 Oracle Solaris 11 是一款广泛使用的操作系统,特别适用于企业级服务器环境,它提供了强大的系统管理功能,包括存储区域网络(SAN)配置和...
2. 文件系统创建与挂载:书中详细阐述了如何在Oracle Solaris 11.2中创建新的文件系统,包括指定存储空间、设置文件系统属性等,并且介绍了如何将文件系统挂载到指定的目录,以便用户访问。 3. 文件系统扩容与收缩...
在Solaris下安装Oracle9i是一项复杂而精细的任务,涉及到系统的多方面配置与优化,以确保数据库能够稳定、高效地运行。以下是从标题、描述、标签以及部分内容中提炼出的关键知识点,旨在为在Solaris环境下部署Oracle...
6. **性能优化**:利用Solaris的DTrace工具进行性能分析和调优,同时学习Oracle的性能优化技巧,如SQL优化、数据库参数调整。 7. **备份与恢复**:掌握Oracle的备份策略,如使用RMAN(Recovery Manager)和Data ...
本指南基于《Solaris Tunable Parameters Reference Manual》(Solaris可调参数参考手册)的内容,将详细介绍与Solaris 10性能调优相关的知识点,旨在帮助具有一定经验的系统管理员更好地理解和应用这些技术。...
Oracle Solaris 11.1 是Oracle公司推出的下一代操作系统,旨在提供更高级别的性能、安全性和可管理性,相比Oracle Solaris 10有显著改进和新增功能。过渡到Oracle Solaris 11.1的过程涉及到一系列技术更新和迁移策略...
Oracle Solaris 8虽然相对较老,但其容器和Zone技术仍然具有广泛的实用价值,特别是在需要向更现代的Solaris版本迁移之前,或者在需要在有限的硬件资源上最大化效率的场景下。了解和掌握这些技术对于任何负责维护和...
2. **Oracle Solaris 11.3 Directory Service**:这是Oracle提供的一个集成的目录解决方案,它基于OpenDJ(一个开源的LDAP服务器)并优化了与Solaris操作系统的集成。该服务提供了高效的身份管理和安全策略实施。 3...
在《Oracle Solaris 10 Oracle Solaris ZFS Administration Guide》中,你将学习到如何创建和管理ZFS文件系统,包括创建和销毁池、创建和挂载文件系统、调整文件系统属性、进行快照和克隆操作、进行数据迁移、优化...