应用程序概要分析性能注意事项
应用程序概要分析启用组装配置技术,它提高了您的应用程序运行时、性能和可伸缩性。您可配置标识入局请求、标识确定并发和其他数据访问特征的访问意向的任务,以及映射任务到访问意向的概要文件。
配置应用程序服务器的能力可改进性能、效率和可伸缩性,同时减少开发和维护成本。除了禁用服务的复选框之外(如果服务不是必需的),应用程序概要分析服务没有调整参数。然而,应用程序概要分析服务的开销很小并且不应该禁用,否则可能会发生不可预测的结果。
访问意向允许您指定数据访问特征。通过设置适当的隔离级别和并行,WebSphere 运行时环境使用这些提示优化对数据的访问。可以将访问意向策略中的各种访问意向提示组合起来。
在产品中,建议您配置 bean 级别访问意向以装入给定的 bean。如果需要,应用程序概要分析允许您在实体 bean 上配置多个访问意向策略。某些调用者可以装入旨在要读数据的 bean,而其他调用者可以装入要更新的 bean。配置应用程序服务器的能力可提高性能、效率和可伸缩性,同时减少开发和维护成本。
访问意向允许配置 EJB 容器以根据使用的企业 bean 的特定类型提供优化的性能。在部署时,可以将各种访问意向提示以声明的方式指定来表明 WebSphere 资源(例如容器和持久性管理器),来为每个 EJB 请求提供适当的访问意向服务。
应用程序概要分析服务通过精细地调整运行时行为,改进整个实体 bean 的性能和吞吐量。应用程序概要分析服务允许为多个用户访问模式定制 EJB 优化,而不必采取“最坏情况”选项,例如用 findByPrimaryKey 方法访问的 bean 的悲观更新,而不论客户机是否需要它以进行读或更新。
应用程序概要分析提供定义下列层次结构的能力:
。容器管理的任务识别工作单元 (UOW) 并且与一个方法或一组方法相关联。调用与任务关联的方法时,用请求传播任务名。例如,UOW 指向可以对应于事务或 ActivitySession 的应用程序内的唯一路径。将任务名称公开分配到 Java EE 客户机或 servlet,或分配到企业 bean 的方法。任务名识别调用图或子图的起始点;从所有后续 IIOP 请求的图下游的起始点产生任务名,其识别沿着属于配置的任务的图的每个后续调用。作为最佳实践,无论 UOW 从哪里开始(例如,事务或 ActivitySession),都将任务指定给该起始点。应用程序概要分析服务将传播的任务与访问意向策略相关联。装入 bean 并获取数据时,应用程序概要信息指示用于获取数据的特征。应用程序概要信息配置应该为特定任务的数据访问使用的访问意向策略和覆盖。
访问意向策略确定如何为特定任务装入 bean 以及在事务期间如何访问数据。访问意向策略是一组已命名的访问意向提示。可以根据数据库和资源管理器的特征使用这些提示。各种访问意向提示适用于控制数据完整性的数据访问操作。一般规则是数据完整性越高,开销越大。开销越大导致的吞吐量就越低,并且从多个客户机同时访问数据的机会也越小。
如果指定它,访问意向覆盖将为访问意向策略提供更多配置。
最佳实践
- 用不同的数据访问模式装入同一个 bean
在不同的应用程序间可以复用同一个 bean 或一组 bean,但是那些应用程序中的每一个对于调用图中的该 bean 或该组 bean 都有不同的需求。一个应用程序可能需要装入 bean 以进行更新,而另一个应用程序则只是为了读而装入 bean。应用程序概要分析使得 bean 的部署时间配置能够区分 EJB 装入需求。
- 不同的客户机有不同的数据访问需求
可以为不同类型的客户机请求使用同一个 bean 或一组 bean。那些客户机对于调用图中的该 bean 或该组 bean 有不同的需求时,可以使用应用程序概要分析定制 bean 装入特征以满足客户机的需求。一个客户机可能需要装入 bean 以进行更新,而另一个客户机则只是为了读而装入 bean。应用程序概要分析使得 bean 的部署时间配置能够区分 EJB 装入需求。
监视工具
您可以将 Tivoli Performance Viewer、数据库和日志用作监视工具。
- 集合范围:
企业 bean 组包含 EJB 生命周期信息,一组 bean 或特定 bean 的累积值。您可以查看此信息,以确定使用 ActivitySession 范围与事务作用域之间的差异。对于事务作用域,根据容器事务是如何定义的,可以将激活和钝化与方法调用相关联。应用程序可以使用 ActivitySession 范围减少激活和钝化的频率。有关更多信息,请参阅主题“使用 ActivitySession 服务”。
- 集合增量:
企业 bean 组包含 EJB 生命周期信息,一组 bean 或特定 bean 的累积值。您可以监视激活数,以查看为特定 findByPrimaryKey 操作激活的企业 bean 数。例如,如果集合增量设置为 10,而不是缺省值 25,那么在任何结果集迭代器运行之前,激活数值将为初始 findByPrimaryKey 显示 10。如果激活数极少超出集合增量,那么考虑减小集合增量设置。
- 资源管理器预取增量:
资源管理器预取增量是要依赖于数据库而遵照数据库引擎行事的提示。Tivoli Performance Viewer 使得无法用度量值显示资源管理器预取增量设置的结果。
- 预读提示:
企业 bean 组包含 EJB 生命周期信息,一组 bean 或特定 bean 的累积值。您可以监视激活数,以查看为特定请求激活的企业 bean 数。如果未使用预读关联,那么激活数值将显示较低的初始数字。如果在使用预读关联,那么激活数值将表示整个调用图的激活数。
数据库工具对于监视引进争用和并行问题的不同 bean 装入特征很有用。这些问题可以通过应用程序概要分析解决,也可能会由于不正确地应用访问意向策略而变得更糟。
对于监视锁定和争用特征(例如,锁定、死锁和连接打开)数据库工具是很有用的。例如,对于锁定,DB2 快照监视器可以显示锁定等待、锁定超时和锁定升级的统计信息。如果发生锁定等待和锁定超时的次数过多,那么应用程序概要分析可以定义需要更有弹性的锁定的特定客户机任务,以及不需要锁定的其他客户机任务。否则,可以应用不同的对锁定的限制性较少的访问意向策略。应用此配置更改后,快照监视器显示较少的锁定行为。参阅有关要使用的数据库的信息,以获取如何监视锁定和争用的信息。
可以监视应用程序服务器日志,以获取有关回滚、死锁和其他可能降低性能或导致应用程序失败的数据访问或事务特征的信息。