DB2 10.5 for Linux, UNIX, and Windows

性能概述

性能是指计算机系统响应特定工作负载时的行为方式。按照系统响应时间、吞吐量和资源利用率来测量性能。

性能还受下列因素影响:
  • 系统中的可用资源量
  • 充分利用和共享那些资源的程度
通常,您希望对系统进行调整以改善其成本/效益比率。具体目标可能包括:
  • 处理更大或更紧迫的工作负载,而不增加处理成本
  • 获得更快的系统响应时间或更大的吞吐量,而不增加处理成本
  • 降低处理成本,而不降低对用户的服务质量

性能调整的某些好处,例如更高效地利用资源以及能够将更多用户添加到系统,是有形的。而其他好处是无形的,例如,由于响应速度更快而令用户更加满意。

性能调整准则

在制订性能调整总体方案时,请牢记下列准则。
  • 记住递减返回定律:最大的性能效益通常来自于最初的努力。
  • 不要只为调整而调整:进行调整以解除已确定的约束。如果所调整的资源不是造成性能问题的主要原因,那么实际上会使后续调整工作更加困难。
  • 对整个系统进行全盘考虑:不能片面地调整一个参数或资源。在进行调整前,务必考虑所作的更改对整个系统的影响。性能调整要求在各种系统资源之间进行权衡。例如,您可能会增大缓冲池大小以提高 I/O 性能,但是,缓冲池越大,所需的内存量就越多,这将会导致其他方面的性能下降。
  • 每次更改一个参数:每次不要更改多个因素。即使您确定所有更改都有好处,也没有任何办法来评估每项更改的贡献。
  • 按级别进行测量和配置:每次调整系统的一个级别。系统级别包括:
    • 硬件
    • 操作系统
    • 应用程序服务器和请求者
    • 数据库管理器
    • SQL 和 XQuery 语句
    • 应用程序
  • 检查是否存在硬件和软件问题:某些性能问题可以通过维修硬件和/或修订软件来解决。在维修硬件或修订软件之前,请不要花费过多时间来监视和调整系统。
  • 在升级硬件前搞清楚问题:尽管增加存储器或提高处理器能力能立即提高性能,但您还是应该花时间了解系统的瓶颈所在。否则,您可能会在耗费资金购置磁盘存储器之后,才发现系统没有利用该存储器所需的处理能力或通道。
  • 在开始进行调整前,安排好后退过程:如果调整努力导致性能意外下降,那么在尝试替代方案前,应该将所作的更改撤销。您应该保存原始设置,以便轻松方便地撤销不想保留的更改。

制订性能提高过程

性能提高过程是一种可反复的方案,用于监视和调整性能的各个方面。您可以根据性能监视结果来调整数据库服务器的配置以及对使用数据库服务器的应用程序进行更改。

性能监视和调整决策应该以您对使用数据的应用程序类型的了解以及您对数据访问模式的理解为依据。不同类型的应用程序有不同的性能要求。

任何性能提高过程都包含下列基本步骤:
  1. 定义性能目标。
  2. 为系统中的主要约束建立性能指示器。
  3. 制订并执行性能监视方案。
  4. 持续分析监视结果,以确定需要调整的资源。
  5. 每次进行一项调整。

到了某个时候,如果不再能够通过调整数据库服务器或应用程序来提高性能,那么表明需要升级硬件了。

用户可以提供的性能信息

需要对系统进行调整的第一个征兆可能是,用户对性能有所抱怨。如果您没有足够的时间来设定性能目标并通过一种完备的方式来进行监视和调整,那么可以通过倾听用户的意见来解决性能问题。首先,可以向用户询问几个简单的问题,例如:
  • 您所谓的“响应慢”达到何种程度?是比预期速度慢 10% 还是慢数十倍?
  • 您什么时候开始注意到此问题?此问题是最近出现的,还是一直都存在?
  • 其他用户是否遇到相同的问题?这些用户是一两个人还是整个组?
  • 如果是一组用户遇到同一个问题,那些这些用户是否连接到同一个局域网?
  • 此问题是否可能与特定类型的事务或应用程序相关?
  • 您是否注意到此问题的出现具有任何模式?例如,此问题是在一天的特定时间发生还是持续发生?

性能调整限制

性能调整的好处是有限的。在考虑要投入多少时间和费用来提高系统性能时,务必评估要投入多少额外的时间和费用来帮助系统的用户。

如果系统遇到响应时间或吞吐量问题,那么通常可以通过进行调整来提高性能。但是,有一个临界点,超过这个临界点再进行调整将无助于事。达到这个临界点之后,您应该考虑修改目标和期望值。要更显著地提高性能,可能需要添加更多磁盘存储器、更快的 CPU、更多 CPU、更多主存储器、更快的通信链路或者它们的组合。