InfoSphere Workload Replay 可捕获本地和远程 DB2 for z/OS 生产工作负载,以及重放它们所需的所有信息:
内置的报告工具可识别重放的工作负载之间的准确性和性能差异,这减少了分析 z/OS 环境中的更改对关键工作负载有何影响需要做的工作。
图 1. 捕获和重放 DB2 for z/OS 工作负载
此版本中的重要主题包括改善的性能、更高的部署灵活性,以及捕获和重放流程的更细粒度控制。
回页首
2.1 版的 InfoSphere Workload Replay 利用了 Guardium V9 GPU 50 64 位支持,这增加了可伸缩性和工作负载处理容量。在第一次部署 InfoSphere Workload Replay 时,系统会自动安装 64 位版本。如果您计划从 1.1 版升级到 2.1 版,那么您可以继续在 32 位版的 Guardium 上运行或升级到 64 位。
回页首
在企业环境中,出于安全原因,生产和测试环境可能彼此隔离。类似地,各种环境可能在地理上分散,仅在服务器之间具有有限的网络连接。以前,对于集中化的 Workload Replay v1.1 服务器部署,在分散化的环境中捕获和重放工作负载是无法做到或不切实际的。
图 2. 集中化的服务器部署无法在分散化的环境中使用
为了允许在分开的环境中捕获和重放相同的工作负载,Workload Replay v2.1 引入了工作负载导出和导入功能。您可以使用这项新功能,在分散化的部署中的服务器之间安全地传输捕获的工作负载。
来源和目标 Workload Replay 服务器之间没有或仅存在有限的网络连接。在这些情况下,中间存储区域临时将工作负载存储在外部 FTP 或 Secure copy (SCP) 服务器中,这些服务器可供来源或目标服务器访问。您可以使用物理媒体(比如硬盘或 DVD),手动在这些存储区域之间移动工作负载。
图 3. 在分散化的部署中传输捕获的工作负载
假设您捕获了一个生产工作负载。您通过使用捕获报告了解了它,现在希望在未连接到生产环境的测试环境中重放该工作负载。在 Workload Replay Web 控制台中,显示了两个工作负载。
图 4. 列出在来源服务器中捕获的工作负载
在工作负载可以移动到中间存储之前,Workload Replay 将该工作负载和来自来源环境的必要信息封装在一起。您用于捕获工作负载的用户 ID 必须拥有来源子系统的 Can Export Workload 特权,然后才能调用 Workload Replay Web 控制台中的导出任务。
图 5. 在来源 Workload Replay 服务器上创建一个工作负载文件
在工作负载导出期间,所需的信息会组装到一个独立、加密的工作负载文件中。然后,您可以将这个加密的文件从来源 Workload Replay 服务器传输到任何可访问的 FTP 或 SCP 服务器。
图 6. 识别要上传到外部存储的工作负载
使用 upload workload file
CLI 命令将一个加密的工作负载文件上传到一个 FTP 或 SCP 服务器。
图 7. 将一个工作负载文件从来源上传到一个 FTP 服务器
在工作负载文件成功上传到中间存储后,通过在 Web 控制台中删除导出的工作负载,从来源 Workload Replay 服务器删除加密的文件。
图 8. 从来源 Workload Replay 服务器删除一个导出的工作负载文件
在目标服务器与中间存储之间的网络连接不存在或缓慢时,将工作负载文件移动到目标 Workload Replay 服务器可访问的 FTP 或 SCP 服务器。
要将一个已捕获的工作负载导入到目标 Workload Replay 服务器中,可使用 CLI 控制台将加密的工作负载文件下载到 Workload Replay 服务器,然后导入该工作负载。
在 CLI 控制台中发出 download workload file
命令,提供所需的信息,包括工作负载文件所在的 FTP 或 SCP 服务器的连接信息,以及工作负载文件名称。
图 9. 将一个工作负载文件从 FTP 服务器下载到目标服务器上
下载操作将加密的工作负载文件存储在目标 Workload Replay 服务器上的一个内部工作目录中。
您可以使用 show workload files
CLI 命令显示一个导入的工作负载文件列表。
图 10. 识别要导入的工作负载文件
使用目标的 Workload Replay Web 控制台的 SQL Workloads 选项卡中的 Import 任务,将工作负载文件导入到目标服务器。您可以为导入的工作负载提供不同的名称,例如,如果一个原始名称已存在于目标服务器上的工作负载。
图 11. 导入一个工作负载文件
导入操作会解密和解压加密的工作负载文件,将工作负载与一个数据库连接相关联。您用于捕获工作负载的用户 ID 必须拥有关联的子系统的 Can Import Workload 特权,然后才能导入工作负载。
图 12. 了解导入的工作负载的工作负载任务
在捕获的工作负载成功导入后,创建一个捕获报告或转换导入的工作负载,为在目标 Workload Replay 服务器上重放该工作负载做好准备。
导入工作负载后,工作负载文件会保留在服务器上。要释放目标服务器上的存储,可以使用 delete workload file
CLI 命令删除下载的工作负载文件。
图 13. 删除一个导入的工作负载文件
考虑使用导入和导出功能,在 Workload Replay 服务器外部的一个安全位置中临时或永久地归档捕获的工作负载。这样,您就可以建立一个可根据需要共享的工作负载库。
回页首
在捕获一个工作负载后,Workload Replay 服务器将会收集有关每个执行的 SQL 语句或存储过程调用中使用的主机变量和参数的捕获信息。如果应用程序处理的是大对象 (LOB) 或 XML 数据,S-TAP 会将大量数据传输到 Workload Replay 服务器,然后将它们存储在这里。
在某些应用程序场景中,SQL 语句(或存储过程调用)的返回代码和结果计数(返回或修改的行)可能并不依赖于实际输入 LOB 或 XML 值。因为 Workload Replay 报告分析不会对比结果集中的数据值,您可能会选择不捕获实际输入值,而使用生成的虚假数据。虚假数据消除了将原始 LOB 和 XML 数据传输和存储在服务器上的需求。
我们看看两个示例。
一般而言,您必须确定以下条件是否适用于您的环境:
如果在工作负载重放期间使用生成的 LOB 和 XML 数据不可接受,那么可以将捕获功能配置为记录实际数据值(最大 32 KB,因为除了该值以外仅收集长度信息)。
图 14. 定义是否捕获 XML 和 LOB 数据
LOB 和 XML 数据值目前未在捕获、转换或对比报告中显示。
回页首
在一个工作负载重放进行过程中,可能在共享的子系统上发生外部 SQL 活动。例如,一个性能监视器可能在后台运行,或者其他应用程序可能在执行。2.1 版的 InfoSphere Workload Replay 引入了过滤器,用过滤器来限制在工作负载重放期间收集的 SQL 执行信息。
如果您预计重放系统上的 SQL 活动与您的评估无关,可考虑定义一个重放捕获过滤器。
因为过滤器不会限制在重放期间执行的 SQL,这个外部 SQL 仍会影响重放的工作负载的行为(和性能)。
如果没有定义过滤器(或者您仅使用了比工作负载捕获期间更不受限的过滤器),新 SQL 可能显示在工作负载对比报告中。类似地,如果为工作负载重放定义了更加受限的过滤器,对比报告可能报告缺少 SQL。
在 Workload Replay Web 控制台的 重放 向导中定义重放捕获过滤器。
图 15. 了解工作负载重放选项
您可检索原始捕获过滤器并在必要时修改它,以考虑您的重放环境中的差异。
图 16. 定义重放捕获过滤器
请记住,一些过滤器会导致更高的 S-TAP 用量。例如,模式级过滤器需要解析更多的 SQL 语句,以确定它们是否引用了指定的数据库对象。
回页首
如果您的工作负载利用了静态 SQL,关联的包(也称为应用程序包)必须存在于您的来源环境中。从 2.1 版开始,InfoSphere Workload Replay 支持集合映射,以便允许准确地重放已在各个包位于不同集合中的环境中静态执行的 SQL 工作负载。
您可以在 Workload Replay Web 控制台的工作负载转换向导中映射捕获的集合信息。
图 17. 了解工作负载转换选项
在映射集合 ID 时,请记住必须授权重放用户 ID(或用户 ID)执行映射的集合中的包。
图 18. 定义集合 ID 映射
有关 InfoSphere Workload Replay for DB2 for z/OS 中的这些新功能的更多信息,请参阅参考资料中列出的 新特性和增强 文档。
回页首
2.1 版的 InfoSphere Workload Replay for DB2 on z/OS 的重要特性是性能改进、SQL 捕获和重放增强,以及对分散化的服务器部署的支持的混合体。借助这些特性,您可以使用更大范围的工作负载,在一个生产前环境中快速分析 DB2 for z/OS 环境中的任何更改对生产环境中运行的应用程序有何影响。