第7页 共 32 页
绩效目标
要获得最大效率,您必须现实地评估性能要求。您可以遵循许多最佳方案来
提高性能。例如,您可以将数据库文件放在最高性能的磁盘子系统上。但是,在
应用最佳方案之前,您应该考虑从中获得多少收益以及收益是否值得投资。这些
性能要求通常由其他人(应用程序开发人员或数据的业务用户)设置。查询调优
的一个基本部分将涉及这些方面,用来确定足够好并且足够现实的要求。
有时在没有实际增强的情况下评估性能增益真的很困难。这使得正确识别性
能瓶颈的来源变得更加重要。是 CPU,内存还是磁盘?是代码,数据结构还是索
引,还是仅仅是硬件的限制?是否有错误的路由器,配置不当的 I / O 路径或未
正确应用的补丁导致网络运行缓慢?平台上的服务层是否设置为适当的级别?
确保你可以从已知点而不是猜测中做出这些可能代价高昂的决定。一种实用的方
法是以增量增加资源,并使用添加的资源分析应用程序的可伸缩性。如果资源真
正导致可伸缩性瓶颈,则可伸缩应用程序将按比例从资源的增量增加中受益。如
果结果看起来令人满意,那么您可以承诺完全增强。经验在这里也发挥着重要作
用。
然而,有时你从表现的角度来看是痛苦的,你需要尽一切可能来减轻这种痛
苦。完全根本原因分析并不总是可行的,但 它仍然是为您的生产系统提供最大保
护的首选途径。
“足够好”的调优
应该以调优为目标,直到系统性能“足够好”,而不是将系统调整到理论上
的最大性能,这是一种常用的性能调优方法。这一点之后的成本投资通常与绩效
收益相比呈指数增长。“80:20”规则非常有效:通过投入 20%的资源,您可以获
得 80%的可能性能提升,但对于剩余的 20%可能的性能提升,您可能需要额外
投入 80%的资源。因此,在设定绩效目标时务必要切合实际。请记住,您,您的
客户以及您正在与之合作的商人都会定义“足够好”,每个人都没有遵守的标准。
企业不仅要考虑纯粹的绩效,还要考虑绩效的价格。但是,如果目标是找到
您的应用程序的可伸缩性限制(出于各种原因,包括将产品与其竞争对手进行营
销),那么尽可能多地投资可能是值得的。即使在这种情况下,使用第三方压力
测试实验室可能是更好的投资决策。
虽然在某些情况下需要向下拓展以找到每个可能的微小的性能增强,但对于
我们大多数人来说,大部分时间都没有必要。相反,确保正确地执行标准,让我
们能事半功倍。您可能会遇到意想不到的情况,但通常情况并非如此。首先关注
正确的标准。
绩效基准
性能分析的主要目标之一是了解系统使用的基础水平和对不同硬件和软件