确定在 z/OS 上的WAS中运行的应用程序的 CPU 使用情况

确定在 z/OS 上的 WebSphere Application Server 中运行的应用程序的 CPU 使用情况

简介

IBM WebSphere Application Server 环境常常托管着多个不同类型的企业应用程序,它们受不同的 Java EE 技术支持。这些应用程序通常会并发运行,每个都会消耗与它们执行的工作相对应的系统资源,比如 CPU 周期和内存。在性能测试和生产使用期间,查看每个应用程序(而不是仅查看整个应用服务器)消耗的资源常常很有用。

有许多工具可用于监视 WebSphere Application Server 内的性能统计信息。一个基本示例是 WebSphere Application Server Performance Monitoring Infrastructure (PMI)。它使您能够监视线程池和连接池等关键区域,这些区域可提供哪些应用程序在消耗 CPU 资源的迹象,尤其在只有极少量的应用程序在运行的时候。但是,如果一个服务器中部署且运行着许多应用程序,准确查明哪些应用程序在消耗系统资源可能极具挑战。

在 z/OS 上,Service Management Facility (SMF) 和 Resource Management Facility (RMF) 提供了一些系统工具,可帮助 WebSphere Application Server 系统管理员获取在服务器内运行的各个应用程序的 CPU 使用量的信息。发现的任何 “问题应用程序” 然后可单独调查,以确立性能问题的根本原因。

本文适用于 z/OS 管理员,解释了如何利用 z/OS 分类规则、SMF 和 RMF 报告,查明在 z/OS 上的 WebSphere Application Server V6.x - V8.5 中运行的各个应用程序的 CPU 使用率。

示例环境

这里描述的应用程序是假想的应用程序,仅用于演示用途;本文没有提供其代码。在真实环境中,环境中运行的相关的业务应用程序将产生用于后续分析的性能数据,本文中介绍的步骤应适用于这些应用程序。

出于本文的目的,假设在 z/OS 上的 WebSphere Application Server 中部署了 4 个应用程序,它们具有不同的并发工作负载:

其中两个应用程序是在 Web 容器运行的简单 Web 应用程序。

一个是 Enterprise JavaBean (EJB) 应用程序。

一个使用 WebSphere Application Server Service Integration Bus (SIB) 的基于消息驱动的 bean (MDB) 的应用程序。

此环境可轻松扩展,以包含您想要的任意多个应用程序。此环境中的应用程序具有非常有限的功能,它们仅在被调用时通过执行数学运算来消耗 CPU 周期,我们选择它们是为了涵盖 3 个主要的 Java EE 技术区域。

分类规则 XML

为了将不同的应用程序分离到将在一个 RMF 报告中显示的不同报告类中,第一步是创建一个分类规则 XML 文档。对于本示例,创建一个名为 zwlm.xml 的 XML 文档(此文档可具有任何名称)来定义每个应用程序的分类规则,并将这些应用程序规则链接到随后在 z/OS 工作负载管理器 (WLM) 中创建的事务类。这如清单 1 所示。

清单 1. 分类规则 XML 文档
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Classification SYSTEM "Classification.dtd" >
<Classification schema_version="1.0">
  <!--
       HTTP Classification Rules
  -->
  <InboundClassification type="http"
                         schema_version="1.0"
                         default_transaction_class="TC_1">
    <http_classification_info transaction_class="TC_2"
                              uri="/MigrateHelloWorldWAR/*"
                              description = "HW1"  />
    <http_classification_info transaction_class="TC_3"
                              uri="/MigrateHelloWorldWAR2/*"
                              description="HW2"  />
  </InboundClassification>

  <!--
        IIOP Classification Rules
  -->
  <InboundClassification type="iiop"
                         schema_version="1.0"
                         default_transaction_class="TC_4">
    <iiop_classification_info transaction_class="TC_5"
                              application_name="TestEJBEAR"
                              module_name="TestEJB.jar"
                              description="Sample EJB Classification"  />
  </InboundClassification>

  <!--
     MDB Classification Rules
  -->
  <SibClassification type="jmsra"
                     schema_version="1.0"
                     default_transaction_class="TC_8">
     <sib_classification_info transaction_class="TC_9"
            bus="BUS1"
            destination="ASSURE1" description="SIB MDB"  />
   </SibClassification>

</Classification>

可以看到,此文档包含 3 个小节,一个小节对应一个分类规则类型:http 用于 Web 应用程序,iiop 用于 EJB 应用程序,jmsra 用于基于 SIB MDB 的应用程序。为 default_transaction_class 字段分配的值将用作该工作类型的默认值。对于更具体的 HTTP 分类规则,uri 字段包含部署的 WAR 的上下文根。例如值:

uri="/MigrateHelloWorldWAR/*"

可确保只要使用该上下文根,就会调用事务类 TC_2,比如:

http://myserver.hursley.ibm.com:9080/MigrateHelloWorldWAR/MyServlet?TIME=10000

对于 IIOP (EJB) 分类规则,必须提供应用程序 (EAR) 名称和模块名称 (JAR)。

对于 SIB MDB 应用程序,提供了 SIB 名称和 MDB “监听” 的目标。通常,各个 MDB 将会监听自己的目标。这意味着很容易确定各个应用程序的 CPU 使用率。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/extra/

与该 XML 关联的完整 Classification.dtd 如清单 2 所示。

清单 2. 分类规则 DTD 文档

<?xml version='1.0' encoding="UTF-8"?>
<!ELEMENT Classification (InboundClassification|SibClassification)+>
<!ATTLIST Classification schema_version CDATA #REQUIRED>
<!ELEMENT InboundClassification ((iiop_classification_info*
    |http_classification_info*|endpoint*))>
<!ATTLIST InboundClassification type (iiop|mdb|http) #REQUIRED>
<!ATTLIST InboundClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST InboundClassification schema_version CDATA #REQUIRED>
<!ELEMENT iiop_classification_info (iiop_classification_info*)>
<!ATTLIST iiop_classification_info activity_workload_classification CDATA #IMPLIED>
<!ATTLIST iiop_classification_info application_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info component_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info description CDATA #IMPLIED>
<!ATTLIST iiop_classification_info method_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info module_name CDATA #IMPLIED>
<!ATTLIST iiop_classification_info transaction_class CDATA #REQUIRED>
<!ELEMENT endpoint (classificationentry*)>
<!ATTLIST endpoint defaultclassification CDATA #REQUIRED>
<!ATTLIST endpoint name CDATA #REQUIRED>
<!ATTLIST endpoint type (messagelistenerport) #REQUIRED>
<!ATTLIST endpoint description CDATA #IMPLIED>
<!ELEMENT classificationentry EMPTY>
<!ATTLIST classificationentry classification CDATA #REQUIRED>
<!ATTLIST classificationentry selector CDATA #REQUIRED>
<!ATTLIST classificationentry description CDATA #IMPLIED>
<!ELEMENT http_classification_info (http_classification_info*)>
<!ATTLIST http_classification_info host CDATA #IMPLIED>
<!ATTLIST http_classification_info port CDATA #IMPLIED>
<!ATTLIST http_classification_info uri CDATA #IMPLIED>
<!ATTLIST http_classification_info description CDATA #IMPLIED>
<!ATTLIST http_classification_info transaction_class CDATA #REQUIRED>
<!ELEMENT SibClassification (sib_classification_info+)>
<!ATTLIST SibClassification type (jmsra|destinationmediation) #REQUIRED>
<!ATTLIST SibClassification default_transaction_class CDATA #REQUIRED>
<!ATTLIST SibClassification schema_version CDATA #REQUIRED>
<!ELEMENT sib_classification_info EMPTY>
<!ATTLIST sib_classification_info transaction_class CDATA #REQUIRED>
<!ATTLIST sib_classification_info selector CDATA #IMPLIED>
<!ATTLIST sib_classification_info bus CDATA #IMPLIED>
<!ATTLIST sib_classification_info destination CDATA #IMPLIED>
<!ATTLIST sib_classification_info discriminator CDATA #IMPLIED>
<!ATTLIST sib_classification_info description CDATA #IMPLIED>

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索application
, websphere
, 应用程序
, 运行
, 规则
一个
os的不确定性、os cpu a.asm、remix os cpu支持列表、remix os amd cpu、os cpu c.c,以便于您获取更多的相关知识。

时间: 2024-09-15 01:22:28

确定在 z/OS 上的WAS中运行的应用程序的 CPU 使用情况的相关文章

z/OS上的LDAP Advanced Replication的配置实例

LDAP通过Replication机制保证数据在多个服务器上的同步.z/OS上的LDAP服务器支持两种形式的Replication,即Basic Replication和Advanced Replication. Basic Replication提供了最基本的数据同步服务,这种机制仅支持Master-Replica和basic Peer-Peer两种拓扑结构,并且同步的最小单位为一个完整的后端(Backend).相比之下,Advanced Replication提供了更为灵活的数据同步机制,同

如何选择合适的Catalog cache机制提高z/OS上访问数据集的性能

Catalog是z/OS上一种用来索引其他数据集的数据集,很多时候在系统上访问数据集的操作都要通过catalog来定位,所以提高系统上每一个catalog的性能,就可以直接提高访问数据集的性能.Catalog运用caching的结构缓存一些经常有读取和更新请求的catalog记录,从而缩短了访问这些catalog的时间,到达了系统层面的性能提升. 总体来说,z/OS上的catalog有两种cache方式:一种是在catalog的地址空间里分配一部分空间来存储记录,叫做In-storage Cat

详解z/OS上的Language Environment程序管理模型

LE程序管理模型提供了z/OS上高级语言应用程序的运行框架,它是异常处理,消息处理和内存管理等其他LE模型的基础.本文将会介绍LE程序管理模型的基本概念,以及这一模型中的程序执行实体--Process/Enclave/Thread的行为和语义. 1. 程序管理模型概述 LE程序管理模型提供了z/OS上高级语言应用程序的运行框架,它是异常处理,消息处理和内存管理等其他LE模型的基础.三个程序执行实体--Process,Enclave与Thread--他们是LE程序管理模型的核心概念.首先我们从一个

操作-大型机Z/OS上采用OPC监视BATCH JOB的问题

问题描述 大型机Z/OS上采用OPC监视BATCH JOB的问题 OPC可以简单的查看CURRENT PLAN中某JOB的的前续和后续作业. 如果我已知2个有关联JOB,需要通过OPC来查看2个JOB间执行的所有JOB,(即是第一个JOB的后续且是第二个JOB的前续) 该如何操作呢?

PHP获取网页上任意表格中内容的通用程序的制作

程序|网页 转载请联系作者:Email: pengwuwang@21cn.com   darlingpeng@sina.com  在工作中,经常需要对网页上的表格内容进行处理,但是,由于表格内容制作过程中的随意性,跨行跨列经常发生,所以我作了这几个函数,以获取表格的内容,程序中重要的地方已作了注解,所以在此不再重复说明,经过测试,非常成功.所以拿出来供大家共享.<?php//作者: 王朋武//日期: 2005,3,31//目的: 获取网页上(任意跨行跨列的)表格中的内容function fun_

linux系统中运行applet小程序不能读取 AppletViewer 的属性文件的解决办法

问题描述 1.命令行中执行policytool2.点击"添加规则项目",进入规则项目页面3.点击"添加权限",进入权限新增页面4.在"许可"的下拉菜单选择"AllPermission",点击确认:5.在规则项目中点击完成:6.在规则工具页面中点击文件菜单,选择另存为,保存文件名为.java.policy,保存路径为homeuser(这是你自己的用户名)

如何获得当前系统中运行了哪些程序,这些程序开启了哪些窗口,怎么才以能向指定窗口发送按键、文字等一些信息(第一次发贴)

问题描述 比如,我打开了三个记事本,分别为三个不同的文件,怎么能够获得这三个窗口的窗口名称.句柄.进程号.怎么才能把不是当前窗口的窗口激活成当前窗口.怎么能向指定的窗口发送按键. 解决方案 解决方案二:该回复于2008-05-09 11:19:34被版主删除

linux中运行一个golang程序为守护进程

安装daemonize 安装git环境 yum install git -y 获取daemonize git clone git://github.com/bmc/daemonize.git 安装daemonize cd daemonize ./configure make && make install 查看是否安装www.111cn.net daemonize -v 通过daemonize执行golang守护进程 你需要打包你的golang程序为可执行文件(go build),并通过d

利用z/OS工具识别WebSphere Application Server的CPU资源使用情况

本文将展示如何利用 z/OS® 工具识别各个 WebSphere Application Server 应用程序的 CPU 资源使用情况. IBM WebSphere Application Server 环境常常托管着多个不同类型的企业应用程序,它们受不同的 Java EE 技术支持.这些应用程序通常会并发运行,每个都会消耗与它们执行的工作相对应的系统资源,比如 CPU 周期和内存.在性能测试和生产使用期间,查看每个应用程序(而不是仅查看整个应用服务器)消耗的资源常常很有用. 有许多工具可用于