Solaris[tm] 2.6, 7, 8 操作环境下的性能与调整
原文作者:Karen Edwards 与 Clive King
翻译:胡正茂
1. 着手性能问题
2. 性能监测
2.1. 从暴露出来的问题开始
2.2. 知道你的系统在正常情况下会怎样
2.3. 寻找性能瓶颈
3. 一些常见问题和一些建议
3.1. 64位的运算与容量能带来什么
3.2. 空闲内存
3.3. 优先内存页面调度
3.4. 隐私的共享内存(ISM-Intimate Shared Memory)
3.5. 与共享内存有关的交换空间设置
3.6. 进程间通信(IPC)的参数
附加资源
A.源自SunSolve Online[sm]关于IPC的文章
B.SUN性能信息
C.相关文章和书籍
当一个系统运行缓慢性能下降的时候,很难知道原因是什么。是内存泄漏,磁盘子系统瓶颈,还是某个特定应用程序在可扩展性方面有限制?有一些途径可以发现和了解引起性能问题的根源,并且有可能消除它。
本文给出了从哪里入手的一些建议。文中介绍了如何着手性能方面的考虑以及如何定位常见的性能瓶颈,还介绍了与性能密切相关一些概念,比如私有的共享内存(ISM-Intimate Shared Memory)与优先内存页面调度。文章重点是放在Solaris 2.6, 7, 和8 操作环境下。本文不是所有性能问题的应对大全,而是作为一个出发点,激发你在Solaris系统性能方面的思考,并且建议你下一步的努力的方向。
1. 着手性能问题
性能,或许比计算机系统其它方面的行为更需要有通盘的考虑。为了识别来自一个或多个组件的问题根源,必须要采取结构化的方法。
实际的结果是,解决性能问题过程中最重要的一个部分是定义你正在试图解决的问题。从实际应用的方面来讲,这意味着定义一个操作或者测试用例,从而可以:
A) 知道系统当前有多快。
B) 知道系统需要快"X"倍;或者知道系统曾经在不同环境下快过"X"倍。
设置基线是开始的第一步。性能分析是由简单明确地定义所需解决的问题开始的自上而下的一个过程。如果你想要一个系统运行得快一些,你仍然需要定义这个系统的哪些属性是你想要改进的,以及哪些代价是你可以接受或者不可以接受的。除非你能够明确地描述出问题症状/机会,想要识别出问题的根源只会是碰运气。
性能分析很象是侦探工作,我们通过证据和观察建立事实依据,非常小心不要陷入预先想象的与事实不符的结论中——只有在具备非常压倒性的证据时才确认猜想。
对所有假设都要怀疑。其他人声称的事实实际上只是个可能正确也可能不正确的假设。如果这个假设是错误的,你可能会是在不正确的依据下工作,从而得出不正确的结论。
这里有一些警告。Solaris操作环境在大多数情形下对于工作负荷的自我性能优化都是很好的。发行版本越新,需要手工做的性能优化就越少。性能问题的根源经常被发现是因为一个试图优化性能的行为引起的。首先需要注意应用程序,最后才是操作环境。
任何对系统配置的更改,比如象内存大小和磁盘布局这样的性能设置,都应该检查其当前的正确性。同样,一个带参数的系统升级也有可能对新操作环境的性能带来影响。
2. 性能监测
2.1. 从暴露出来的问题开始
什么操作使你看到性能问题的症状?
比如说,是特定类型的数据库查询,文件或网络操作比你期望的慢?在给出测试用例方面你能把操作步骤做到多具体,例如一个SQL查询或者30行的C程序?
最大程度利用你的知识尽可能准确地说明“什么地方出了什么问题”以定义你的问题。良好的问题说明的例子就像这样:
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 环境 性能 调整 操作 内存 一个 系统 问题 可以 页面 |
注册
个人空间
