DB2绩效顾问
DB2

DB2绩效顾问– What is Performance

确保最佳应用程序和系统性能是IT专业人员最重要的目标之一。对于DB2开发人员和DBA,调整和监控通常是日常任务。但是,DB2优化和性能监测和调整有许多因素......太多才能在一篇文章中进行正义。这就是为什么我们正在介绍这个常规列:DB2绩效顾问。此列将定期出现在行星大型机博客上,并将涵盖有关z / OS的DB2的所有绩效管理方面。

即使在今天的现代IT环境中,绩效管理通常也是反应性而不是积极的。你知道该怎么做。用户调用响应时间问题。表空间最大化在范围内。程序正在运行,而不致力于导致各种锁定问题。有人反弹一个应用程序包,而不检查新的访问路径,事务正在堆积。然后有人提交了再次“从地狱查询”,这不会停止运行。听起来有点熟?如果只有我们实现更积极主动的性能管理步骤,就会被要求在可能会被阻止的问题中反应反应的所有DBA。所以我们必须经常和反应地推出性能火灾。

然而,管理和顾问继续促进主动管理的益处。而且,当然,它们是正确的。积极主动可以减少,甚至消除DBA每天处理的许多问题。

然而,在生产中采取的许多据称主动步骤主要是反应性的。让我们面对它,DBA往往太忙于照顾日常战术数据库管理任务,主动监控并调整他们希望他们能够的程度。建立主动性能的基础设施需要时间和精力,并且时间不是DBA在追溯以保持操作所需的反应任务时具有丰富的东西。

当然,可以使用性能工具和监视器,可以通过在触发指定警报时自动采用预定义的操作来使性能管理更容易。存在额外的工具,可以分析问题并建议解决方案。但是在解决性能问题之前,您可以致力于设置定义商定绩效标准的服务级别协议(SLA)。为了有效,服务级别协议必须指定所需的服务,响应时间或可用性,该服务正在送达,谁负责确保服务级别以及分配的预算来实现服务。通常,SLA都是不完整的或更糟,根本没有创建。

我们将在DB2绩效顾问的未来分期付款中解决所有这些问题。但对于今天,首先让我们定义“DB2性能”的意思。

定义DB2性能

在我们谈论确保表现之前,我们首先需要一个良好的定义这个词。暂时思考DB2性能,使用熟悉的供需概念。最终用户要求DB2的信息。 DB2向要求提供的人提供信息。 DB2提供信息需求的速率可以称为DB2性能。

五因素影响DB2’s性能:工作负载,吞吐量,资源,优化和争用。

  1. 请求DB2的工作负载定义了需求。它是在任何给定时间通过系统指向系统的在线事务,Web请求,批处理作业,ad hoc查询,数据仓库分析,实用作业和DB2命令的组合。工作量可以从日常到日,小时到一小时,甚至分钟波动。有时工作负载是可预测的,如沉重的月底处理工资单,或在下午5:30后非常轻松的访问。在夜间批量周期之前,当大多数用户离开这一天时,但在其他时候,它可能是不可预测的。对于基于Web的应用,它可以根据任何数量的因素波动。当应用程序依赖于动态SQL时,由于大多数现代DB2应用程序,访问路径每次运行SQL时都可以更改。这也影响可预测性。所以请记住,整体工作量对DB2性能产生了重大影响。
  2. 吞吐量定义了计算机处理数据的整体能力。它是大型机模型,CPU速度,I / O速度,专业处理器参与的复合性,任何涉及的任何额外的协处理器,硬件和软件的并行能力,以及操作系统和系统软件的效率。
  3. 系统处理的硬件和软件工具称为系统的资源。示例包括内存,例如分配给缓冲池,排序或地址空间,磁盘子系统,缓存控制器,微代码等。
  4. DB2性能的第四个定义元素是优化的。所有类型的系统都可以优化,但是,诸如DB2之类的关系数据库系统在该查询优化主要是DBMS内部的唯一。然而,需要优化许多其他因素,可以包括:
    • 制定您的SQL陈述
    • 主机语言应用程序代码(例如Java,COBOL等)
    • 数据库对象的DDL参数
    • 系统参数(DSNZParms)
    • JCL参数
    • 存储子系统配置和设置
    • 网络设置和流量
    • 其他系统软件参数/集成(CICS,IMS,DFSMS,MQ等)
    • DB2优化器提示
  5. 当特定资源的需求(工作负载)很高时,可能会导致争用。争用是工作负载的两个或多个组件尝试以冲突的方式使用单个资源的条件;例如,双重更新到同一块数据。 DB2的Lock Manager可确保数据不恰当地修改,但在竞争工作负载组件已完成之前,争用将导致要暂停的部分工作负载。简单地说,随着争用的增加,吞吐量减少。

所以,随着所有这一切,让我们把这些作品放在一起,并通过术语“DB2性能”来定义我们的意思。

定义: DB2性能可以定义为资源使用的优化,以提高吞吐量并最大限度地减少争用,从而实现要处理的最大可能的工作负载。

即便如此,我们必须始终记住DB2应用程序定期与其他系统Z子系统通信,也必须考虑到性能规划。估值效率为z / OS设置,增加的网络流量,甚至是过期的CICS参数可以影响DB2性能。

当然,我们不能成为大型机管理和运营的各个方面的专家。尽管如此,努力增加您对DB2使用或适用的任何资源的理解,是一项明智的行动。因此,有时,我们将检查其他大型机组件如何影响该列中的DB2性能。

一些一般主题

既然我们有一个定义DB2性能的定义,我们将介绍一些普遍的主题,这些主题将在您努力改进和管理DB2系统和应用程序的性能时渗透您的职业生涯。这些主题不会深入技术调整提示,而是指导原则,以便在与DB2一起使用时牢记。

  1. 第一个基本指南是要了解80/20规则,有时称为帕累托原则。 80/20规则可以用几种不同的方式说明。也许最常见的是,80%的性能调整结果将来自您努力的20%。或者向另一种方式表示,20%的DB2应用程序将导致80%的问题。这里的一般想法是您应该将您的调整工作集中在将提供最大投资回报率的应用程序和流程。
  2. 第二个基本指南是您应该接近调整为迭代过程。换句话说,一次曲调一件事,而不是几件事。在每次调整步骤后测量尝试的成功或失败。如果您不以这种方式接近调整,那么您可能会引入子最优设置和代码,因为您无法测量每个更改。所以一直只改变一件事,并在做任何其他事情之前衡量结果。
  3. 第三,你应该尽量避免使用“永远”和“永远不会”的单词。很少有任何规则总是适用。而且,同样很少见到可以完成的东西,永远不应该这样做。保持开放的心态。

最后,更好地将性能从一开始设计到您的应用程序和系统中,而不是尝试稍后调整性能调整。进一步进入开发过程,更加痛苦变化。

概括

既然我们有一个定义DB2性能 - 以及一些指导性能管理原则 - 我们可以使用它们在DB2绩效顾问的后续版本中潜入相关问题和主题。我希望你能在这里加入我的大型机讨论。

 

克雷格穆林斯
跟着我
克雷格穆林斯的最新帖子 (查看全部 )

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *