用 Apache JMeter 测试 WebSphere 性能(1)

1/5/2008来源:Java教程人气:7907


  WebSphere application Server - EXPRess 和 DB2 UDB Express 简介
  WebSphere Application Server - Express 是 WebSphere Application Server 家族中最简单的成员。因为它的目标是中小型公司,而这些公司可能不需要其他产品所提供的所有功能,所以它只包含了 WebSphere Application Server 完整架构的一个子集。例如,它未包括 EJB 支持。
  
  WebSphere Application Server - Express 由两个主要产品构成:
  
  
  Express Application Server - 用以支持 Web 应用程序部署和运行的全功能生产系统
  WebSphere Studio Site Developer(WSSD) - 答应您创建和测试应用程序的开发工具
  
  图 1 向您展示了 WebSphere Application Server - Express 架构的概貌。
  
  图 1. WebSphere Application Server - Express 概貌
  
 用 Apache JMeter 测试 WebSphere 性能(1)(图一)

  以下是 WebSphere Application Server 中使用的术语:
  
  应用程序服务器
  应用程序服务器是您的应用程序将要执行的基本运行库组件。您可以在配置中定义一个或多个应用程序服务器;但是在 Express 级别上,不能将工作负载分布在多个应用程序服务器中。
  
  以下是应用程序服务器中的主要组件:
  
  Web 容器
  每个应用程序服务器运行库都有一个逻辑 Web 容器。该容器将处理 servlet、jsp 文件以及其他类型的服务器端内容。Web 容器配置提供了应用程序服务器组件的有关信息,该组件处理由 Web 服务器所提交的请求。
  嵌入式 IBM HTTP 服务器
  在典型的应用程序服务器环境中,您将具有一个 Web 服务器来为 Html 页面服务。需要动态内容的请求(使用 JSP 或 servlet)将被传递给应用程序服务器。Express Application Server 提供了基于 IBM HTTP 服务器的嵌入式 Web 服务器。这个嵌入式服务器可用于为应用程序提供静态的 Web 页面。虽然无法完全配置 Web 服务器,但是它提供了 WebSphere Application Server - Express 环境中运行的应用程序所需的功能。
  节点
  一个节点就是一个共享公共配置的 WebSphere 治理的逻辑进程分组。节点通常与 Application Server 的物理安装有关。在应用程序的 Express 配置中,就只有一个称作 DefaultNode 的节点。
  单元
  单元是更高级的 Application Server 版本中所使用的治理概念。应用程序服务器附属于节点,而节点则属于单元。在 Express 配置中,只有一个称作 DefaultNode 的单元。
  可在以下地方找到更多 WebSphere 的术语定义:
  http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246976.html?Open
  http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246555.html?Open
  
  DB2 UDB Express 是 IBM DB2 家族中定价最低的全功能关系数据库版本。它是专为帮助中小型公司集成和治理其业务而设计的。
  
  图 2 展示了 DB2 UDB Express 的概貌。
  
  图 2. DB2 UDB Express 概貌
  
 用 Apache JMeter 测试 WebSphere 性能(1)(图二)

  以下是一些您必须熟悉的 DB2 基本术语:
  
  DB2 治理服务器(DB2 Administration Server,DAS)
  图 2 外部定义了一个物理机器(“My Server”)。所有安装了 DB2 的机器都具有一个称作 DAS 的后台进程。DAS 的主要目的是为了提供远程治理支持。每个物理机器都应该具有一个 DAS 服务器进程。
  
  实例
  实例是一个提供数据库访问的进程集合。一个实例可用于提供到一个或多个数据库的服务。您可以在一台机器上安装一个或多个实例,而每个实例都充当一个独立的服务器环境,因此,这些实例的停止和重启都互不影响。
  
  每个实例还具有自己的配置文件,数据库治理器配置文件(DBM CFG)用于进行实例级的安全、性能变量和通信配置。每个实例都有一个 DBM CFG。
  
  数据库
  数据库是一组表的集合,包括数据以及相关对象,如索引、视图、触发器和存储过程。实例进程提供到数据库数据的访问。
  
  每个数据库都具有自己的数据库级配置文件,称作数据库配置文件(DB CFG)。
  
  安装 WebSphere 和 DB2 UDB Express 产品
  在后面的一个实践中,我们将使用 IBM WebSphere Application Server Express V5.1 和 IBM DB2 Universal Database Express V8.1。可从以下 Web 站点下载 WebSphere Application Server Express 和 DB2 UDB Express 的试验版本:
  http://www14.software.ibm.com/webapp/download/home.jsp。
  
  我们不会一步步地介绍安装,因为该过程有向导协助进行并且极其简单。以下是您验证是否成功完成安装时可采取的一些步骤:
  
  在完成 WAS Express 安装之后,继续执行 Start -> Programs -> IBM WebSphere Application Server Express 5.1 -> First Steps。单击 Verify Server Installation 来验证 WebSphere Application Server - Express 的安装是否成功。您应该在每项测试的最后看到消息“OK”。
  在安装了 DB2 UDB Express 之后,则继续执行 Start -> Programs -> IBM DB2 -> Set-up Tools -> First Steps,以便创建 SAMPLE 数据库。或者,您可以通过在 DB2 命令窗口中(Start -> Programs -> IBM DB2 -> Command Line Tools -> Command Window)执行 C:\>DB2 Installation folder>\SQLLIB\bin\ 中的 db2sampl 来完成该工作。我们稍后将在应用程序中使用该数据库中的一个表。
  DB2 控制中心(Control Center)是 DB2 的治理中心。要检查 SAMPLE 数据库是否创建成功,您可以通过 Start -> Programs -> IBM DB2 -> General Administration Tools -> Control Center 调用 DB2 控制中心。如您在图 3 中所见,若要显示系统所编目的所有 DB2 系统,可以通过单击 Systems 前的 + 符号来展开对象树。屏幕的左边部分将列出可用的 DB2 系统。本例中,系统 LIMSS 包含了一个名为 DB2 的 DB2 实例,而数据库 SAMPLE 就位于该实例中。当加亮显示某一表时,屏幕的右边部分就会显示该表的所有相关细节。
  图 3. DB2 Control Center
  
 用 Apache JMeter 测试 WebSphere 性能(1)(图三)

  现在,让我们继续考虑应用程序本身的问题。
  
  使用 WebSphere Studio Site Developer 开发 java Web 应用程序
  J2EE 规范是用以开发、部署和运行企业 Web 应用程序的标准。IBM WebSphere Application Server V5 已经完成了 J2EE 规范的整套测试包。该产品支持所有的 J2EE 1.3 API,并且进行了大量扩展。您可以检查在 http://java.sun.com/j2ee/compatibility.html 上检查由 Sun Microsystmes 所公布的 J2EE 兼容产品清单。
  
  图 4 展示了 J2EE 包装,有助于理解 J2EE 应用程序的组件。
  
  图 4. J2EE 包装
  
 用 Apache JMeter 测试 WebSphere 性能(1)(图四)

  正如您可以从图 4 中所看到的,企业应用项目(MyApp.ear)包含了部署企业(J2EE)应用程序所需的资源层次结构。它可能包含 Web 模块、EJB 模块、JAR 文件和应用程序客户机模块的组合。企业应用项目将被导出用作企业档案(EAR)文件,EAR 文件包括企业应用项目中所定义的所有文件,以及用于部署描述符中所定义的每个 J2EE 模块项目的适当的模块档案文件,例如 Web 档案(WAR)和 EJB JAR 文件。
  
  WebSpere Application Server - Express 不支持 EJB 组件,因此,用该产品进行的典型企业应用程序部署主要包括 Web 模块和 JAR 支持文件。
  
  WSSD 提供了不同的透视图,用于以不同的方式查看和使用资源。一个透视图包含一组视图、编辑器以及与该透视图内最可能执行的任务相匹配的工具栏选项。在应用程序的部署阶段,您可以使用 WSSD 中的不同透视图,如 Web 透视图、Data 透视图或 Server 透视图。
  
  例如,Server 透视图的设计就考虑了服务器或单元测试环境中的操作。有一个服务器控制台(console)视图、一个显示服务器配置的视图、一个答应您启动和停止服务器的视图等等。(见图 5。)
  
  图 5. WSSD 中的 Server 透视图
  
 用 Apache JMeter 测试 WebSphere 性能(1)(图五)

  本示例中,我们主要将使用 Web 透视图来开发 Web 项目组件。
  
  因此本文的目的是向您概述在 WebSphere Application Server - Express 上部署使用 DB2 UDB Express 的 Java Web 应用程序,所以我们将开发一个简单的解决方案,用以向 DB2 UDB Express 上的后端数据库输入用户 ID 和口令。一旦成功建立连接,应用程序就会在一个表中显示雇员记录。
  
  在下一节中,我们将一步步介绍示例的创建。因为我们需要快速完成应用程序,所以我在本示例中使用的编程模型可能并不适合您的环境。本示例中的页面表示紧密配合了业务逻辑,这将阻碍将来的应用程序可伸缩性。此外,该示例不包括异常处理。请注重,这只是一个学习示例,所以要使用最适合您环境的架构。
  
  创建应用程序
  步骤 1 – 创建 MyFirstTest Web 项目
  现在,我们将创建 Web 项目了。从 Web 透视图(Window -> Open Perspective -> Web)中,执行下列操作:
  
  选择 File -> New -> Dynamic Web Project。
  输入项目名 MyFirstTest,并确认是否选择了 Configure advanced options 复选框。这将答应您选择企业应用项目。
  单击 Next。
  在 EAR Project 列表框旁,单击 New,并输入项目名 MyFirstTestEa