分类: 系统运维
2016-01-26 17:32:02
HPUX性能调优手册
HP-UX Performance Cookbook
作者
Stephen Ciullo, HP Senior Technical Consultant
Doug Grumann, HP System Performance tools expert
版本 10JUN09
译者按
涉及HPUX性能相关的文档不少,这一篇是黄金甲比较满意的,愿意花些时间翻译出来分享。首先是其行文风格,作者Stephen字里行间显露出大牛范儿。黄金甲一直认为在研究技术中得到乐趣的人才能真正深入下去,他会觉得与人分享是一件很轻松很好玩的事情,也希望读者能乐在其中。其次,这篇文档覆盖面比较广,也并不局限于一些性能调优教材中对相关工具功能的介绍,具备了相当的可操作性。
正文
你有没有遇到过偶遇一份文档看起来非常有用非常有趣,转眼发现是几年前的古董?如果你是在2015年看这个版本的性能调优手册,那打住吧,不用再往下看了。 2015年这个文档已经没啥时效性了。如果是2009或是2010年,那你运气不错,你碰到了一篇老文档,但是内容相对来说还不算太out。对那些仔细研究过2008版的人,好消息是2009版变化不多,你的知识还没过时。我们加了一点关于磁盘IO的讨论,一点关于Memory metrics的说明,澄清了一些关于NUMA/Oracle的内容,总得来说,以前说的那些原则还是通过了时间的考验。
就像以前版本的手册一样,请注意:
本文档着重于HPUX 11.23和11.31版本,硬件中包括PA-RISC和安腾芯片(也叫IA64,IPF,动能服务器啥啥的)。现在,你应该已经从11.11版本升级上来了。11.2x推出好几年了,11.31也有一阵子了,它们挺稳定的。按说作为HP的员工,我们应该按官方名称叫11.23为11i V2,11.31为11i V3,但是哥不乐意。
对于性能调优来说有些久经考验的原则:
如果你的用户不满意应用的性能,别忙乱动。你有更好的事情做,花点时间更了解一下‘正常情况下’系统运行是什么样子的。然后,如果哪里出了问题,你可以查找一下历史数据,快速定位到底是哪出问题了。
换句话说,如果你不知道是什么原因影响了性能,就别指望随便调调系统就变好了。如果你的不清楚你为什么要做这个调整,最好先研究一下。HP Education有几门不错的课程,比如说HPUX Internals,还有些其他的文档都可以参考。
要是你一次调12个核心参数,说不定事情会变得更糟。就算是变得好些,你也不知道到底是哪个操作真正解决了问题。如果一次只调整一样,你就可以很容易得出结论。
如果这事真这么简单,我们就该找点别的有前途的事干干,比如说云计算啥的,别给整失业了。如果有啥东西不好使,请告诉我们,但是控告就别了。
这个可以很轻易地解释任何结果,但事实上确实每个系统都是不一样的。一个配置可能在一台机器上跑得好好的,另一台机就不行。你比我们更了解你的系统,所以记着这句话。
如果你想让你的钱花得值,那就每一段都读一下(记得你花多钱买的吗 黄按:这文档要钱吗?还是我没看懂原文?)。如果你也跟咱一样是懒人,那就直接跳到‘资源瓶颈’部分除非你要安装一台新机器。对于每一个瓶颈项,我们会有一个简短的瓶颈现象列表。 要是你的系统没有相关的现象,就跳过这部分。如果你遇到的现象在文档里完全找不到,那你可以跟老板讲你没什么事可做,你就是所谓的’钱多事少’的主。尤其是最近这段日子,这个称谓可能让你被老板选中参加特别的项目。(黄按:裁员?)
系统设置
如果是第一次安装系统,你可以做些已投入生产的系统上不能做的事。我们相信你已经深入研究了系统要求、分析了不同的硬件选项,当然HP也给了你’佳中最佳’的配置建议。或许不是。很难说你购买了合适的软、硬件组合,但是别担心,一投入生产你就知道了。.
CPU Setup
在一个没有CPU瓶颈的系统上,多买些CPU是没啥用的。如果你运行一个高强度使用CPU的应用(通常情况是这样),那通常多买些CPU是对的。有些应用程序的性能随着CPU的增加增长比较线性,很可能大部分CPU时间用在User Mode而不是System Mode,也不是一定这样。 有些应用程序多加CPU也肯定没用(例如单线程的应用程序). 还有些应用程序,更多的CPU会引入更多的锁竟争(lock contention),减少性能的增加。任何情况下,更快(更新)的CPU会显著提升高强度使用CPU的应用的性能,不管是多少个CPU.
安腾CPU
安腾服务器运行专为安腾芯片编译的程序比为PA-RISC芯片编译的程序要好(这不是什么高深的理论).如果一个应用对性能要求不高,运行在安腾芯片的PA模拟模式下是没问题的。如果性能很关键,尤其是强CPU使用的应用,那你就应该选用安腾专用的版本。可能令你意外的是,我们认为64位还是32位版本的程序在性能上没什么差别。那些哭着喊着要这个64位那个也64位的是被误导了,只有像Oracle这样的需要访问成T数据的程序能从64位程序里获得好处。只要是安腾版本哪怕是32位的一样可以得到性能跃升,所以最重要的是安腾原生版本的程序,不是64位的程序。
大多数多核、超线程的概念是从x86平台来的,我们还在观察在HPUX下这些技术如何发挥作用。但是总得来说Doug(黄按:作者之一)把这些技术归类于”假装你有比事实上更多的CPU”. 一个尖刻的人可能说“谢谢你给了我双倍的CPU,和一半的运行速度”. 如果价钱不是问题,8个单核的非超线程的CPU总是比4个双核或是4个单核超线程的CPU还是其他凑成8个逻辑CPU的组合的性能好。事实上多核系统或是超线程是让你的单CPU板工作起来像是多个CPU从而节省开支。有时候这有用,比如说一个应用程序遇到很多’stalling’,那其他的程序在多核或超线程的情况下可以加以利用。有些情况下没用,例如当共享一个CPU的程序竞争共享的缓存或总线时。问题是几乎没有办法知道系统底层到底在发生什么,所以你要么相信Benchmark要么自己测试。