websphere性能检测论文

上传人:仙*** 文档编号:34218609 上传时间:2021-10-20 格式:DOC 页数:49 大小:3.07MB
返回 下载 相关 举报
websphere性能检测论文_第1页
第1页 / 共49页
websphere性能检测论文_第2页
第2页 / 共49页
websphere性能检测论文_第3页
第3页 / 共49页
点击查看更多>>
资源描述
本本科科生生毕毕业业论论文文(设设计计)题 目WebSphere 性能监测设计与实现学生姓名指导教师学 院专业班级完成时间2010 年 6 月目 录目目 录录.I摘摘 要要.IIIABSTRACT.IV第一章第一章 绪论绪论.11.1 研究背景与意义.11.2 背景知识.21.1.1 应用服务器的技术发展趋势.21.1.2 J2EE 的现状及发展优势.41.1.3 WebSphere.51.3 设计任务.81.4 论文的组织.8第二章第二章 相关技术介绍相关技术介绍.92.1Eclipse.92.1.1 Eclipse 思想.92.1.2 Eclipse 架构.102.1.3 MyEclipse6.0 .102.2JMX.112.2.1 JMX 功能.112.2.2 JMX 优点及好处.122.3WebSphere 性能监测工具 .122.3.1 WebSphere Server 控制台.122.3.2 JConsole.142.4 本章小结.14第三章第三章 需求分析需求分析.153.1 问题分析.153.2 功能需求.163.3 性能需求.163.4 本章小结.17第四章第四章 总体设计总体设计.18I4.1 系统总体结构.184.2 功能结构.184.3 环境说明.204.4 系统的关键技术.214.4.1 面向对象的设计技术.214.4.2JMX 技术.214.4.3 Swing.224.5 本章小结.22第五章第五章 系统详细设计与实现系统详细设计与实现.235.1 系统功能流程设计.235.2 各功能模块详细设计与实现 .235.2.1 连接模块.235.2.2 监测模块.275.2.3 记录模块.325.3 软件测试.355.4.1 部署在 WebSphere 上用于测试的应用程序.355.4.2 监测软件测试结果.375.4 本章小结.39第六章第六章 工作与总结工作与总结.406.1 工作总结.406.1.1 设计所做的工作.406.2 工作展望.41致谢致谢 .42参考文献参考文献.43II摘 要WebSphere 是个应用程序服务器,它可以运行商业应用程序并且支持J2EE(Java 2 Platform Enterprise Edition)和 web 服务标准。该应用程序服务器组合了应用于客户端和表示层的最好的对象技术(servlets、JavaServer Pages)以及用于在软件中表示和实现商业模型的最新技术(web 服务、Enterprise JavaBeans) 。为了帮助用户更好的维护 Websphere 的性能和可靠性,使其能够正常的运行,需要对该中间件的性能进行监测。本文介绍了该系统的开发背景、意义及一系列相关知识,在此基础上,提出了构建该监测系统的三个模块:连接模块、监测模块、记录模块。给出了该系统的基本框架。然后对此基本框架进行了详细设计。针对 WebSphere 是基于 Java 平台的应用服务器,我们采用 JMX(Java Management Extension)技术实现了连接和监测模块。利用 Java 语言读写文本文件实现了记录模块。本文也叙述了该监测系统的实现。利用 Java 语言具有与平台无关,安全,健壮等内在特点,我利用 MyEclipse6.0.1 作为软件开发程序。此后也叙述了对该监测软件的测试,并给出了测试结果。关键词:关键词:WebSphere 应用服务器,J2EE,JMX,MBeanIIIABSTRACTWebSphere is a kind of application server, it can run the business application and supporting J2EE(Java 2 Platform Enterprise Edition) and web service standards. It combines the best object technology(servlets, JavaServer Pages), which is applied to the client-side and presentation layer, and the latest technology(web service, Enterprise JavaBeans) used to express and carry out the business model. In order to help user to maintenance the performance and reliability of WebSphere better, and make it can run well, we need to monitor the performance of this middleware. This paper discusses the background, significance of the system and a series of relevant knowledge. This paper also comes up with three modules that establish this monitoring system on the basic of the knowledge that mentioned above: linking module, monitoring module, logging module. This paper also provides the basic framework of this system. Then this paper gives the detail design of this framework. Since WebSphere is a application server which is based on java platform, we can use the technology of JMX(Java Management Extension) to make the linking and monitoring module in practice, and use the method of java in reading and writing the text file to make the logging module in practice.This article also described in the implementation of the monitoring system. Since java language, which has many advantage such as platform-independent, secure and robustness, I use MyEclipse6.0.1 as software development process. Then this paper also describs the testing of this monitoring system, and then gives the result of this testing. KEY WORDS: WebSphere Application Server , J2EE , JMX , MBeanWebSphere 性能监测设计与实现 第一章 绪论0第一章 绪论21 世纪是应用程序服务器的时代,应用程序服务器通过使用带有连接器(connector)和异步通信器(Java Message Service)的最新集成软件,可以将新系统和旧系统合并到强大的计算群集中,以满足现代电子商务和一般商务不断变化的需求。大多数应用程序服务器都依赖 Java 来实现这些技术和基本的服务。在计算技术发展的历程中,应用程序服务器的引入与其他计算模型(例如关系数据库、事务监视器)的引入具有相同的重要意义。软件的每一个发展阶段都会对硬件技术产生影响,甚至是指引着硬件和操作系统的发展方向。与此相应,应用程序服务器也以多种方式推动着整个产业的发展。作为软件的一种,中间件产品主要是基于如DEC(Distributed Computing Environment,即分布式计算环境)和 OMG 的 CORRA这样的技术实现的。中间件目前已将应用程序服务器作为了它的一个正式成员。1.1 研究背景与意义研究背景与意义大多数时候,技术革新只引起我们周围的世界很小的变化。但是有些革新却能使我们的生活方式翻天覆地的改变。例如,PC 机和 Internet 的出现,就分别在 20世纪的 80 年代和 90 年代掀起连续的科技浪潮。WebSphere 就是过去几年数次技术革新的产物。J2EE 和简单的 Web 技术(HTML/HTTP/SSL)的发展已经改变了我们的世界。最初,Java 只是以少数数据库访问类的形式出现。现在,它成为了多层体系应用程序开发的基础结构。Internet 上的许多大型应用程序都在 WebSphere 上运行,这仅仅是个开始,使用应用服务器成为每个公司应用程序的基础结构,才是WebSphere 更远大的目标。有两个重大事件在推动着 WebSphere 向这个目标前进。第一个是应用程序之间的交流实现了真正的标准化。XML 和 Web Service(SOAP,WADL 等)的发展允许开发者轻松快捷地利用远程服务创建应用程序,第二个是围绕 J2EE,Web Service 和 WebSphere 的网络效应的开发。当一个平台(如 Microsoft Windows 或Oracle 数据库)作为由合作伙伴、团体、应用程序开发者和终端用户组成的相互依赖的系统而变得更有价值时,这个网络效应就显现出来了。显然,Internet 的发展、交流和标准化、J2EE 和 Java 以及 WebSphere 已经成为市场领军人物这一事实将使它成为企业应用程序无所不在的基础结构。WebSphere作为网路交流的单一方式适用于所有不同类型的设备和客户(从 PC 到 PDA) 。WebSphere 将成为创建每个服务端应用程序所必需的基础结构,就像 Microsoft Windows 是桌面应用程序必需的操作系统一样。软件版权保护与授权系统的设计与实现 第一章 绪论1因此 WebSphere 的性能状态已经直接影响到企业的业务。若其产生故障将使得企业无法提供正常稳定的服务,使企业受到损失。因此 WebSphere 的性能状态成为企业关注的焦点之一。性能管理变得越来越重要。企业用户需要良好的性能管理来保证需要高性能的企业应用服务的正常运行。通过监测系统,管理员能够同时监管更多的设备,能够实时发现 WebSphere 运行的状态。构建性能良好的性能监测系统能够提供给管理员一个了解网络和服务器运行参数的便利工具,也可以帮助减少、甚至预防故障,快速处理故障,缩短服务失效时间,同时调整服务器运行参数,优化服务质量,提高资源的利用率,从而提供给用户更好的服务。1.2 背景知识背景知识本次毕业设计涉及了包含中间件,J2EE 规范等多方面的知识。了解这些知识,对于更好的实现本系统有极大的帮助,并且对以后对历史性能数据的分析工作提供坚实的知识基础。1.1.1 应用服务器的技术发展趋势应用服务器又称为“应用服务器软件平台”(Application Server Software Platform,简称为ASSP),是最重要的一类中间件软件。中间件软件市场的演进,创造了许多种类的中间件,也使得清楚地了解中间件解决方案更加复杂化。 1. 应用服务器及基于应用服务器的软件系统总体结构应用服务器及基于应用服务器的软件系统总体结构某些类中间件,如事务处理监控程序(TP Monitors,所谓“交易中间件”),桥接多种抽象(如数据和处理),纵向从低层跨向高层。其它的保持在高层,依赖于低层的中间件种类,如使用 CORBA 或 J2EE 技术,或 DNA 技术或 TP Monitor技术的应用服务器。 应用服务器并非是老产品的位置重置。首先,它不是把ORB、MOM、交易管理、数据访问中间件和别的中间件产品和技术简单地打包在一起,因为当前的应用服务器软件都是基于对象或组件技术的,各种中间件功能必须以面向对象或组件的方式提供;此外,还需要把另外重要的、增加价值的功能加进来如对象或组件的部署、运行时及管理功能。 按照1998年Giga的划分,按照应用服务器软件欲支持的应用类型,有四种类型的应用服务器软件:针对Web高端电子商务应用的、针对高端企业应用的、针对低到中规模的Web应用,以及多语言部门级应用。今天,针对企业级电子商务应用和一般企业应用的应用服务器软件一般归于同一类。仍然存在支持低到中业务规模的电子商务或企业部门应用的软件实现。最近几年,除了微软独家提供与 Windows 操作系统棒定在一起的、基于DNA/DCOM 技术的应用服务器软件功能外,主流应用服务器产品全部基于 Java 语软件版权保护与授权系统的设计与实现 第一章 绪论2言开发,并遵从 J2EE/EJB 规范。基于 J2EE/EJB 技术,提供 Web 或独立程序访问方式,支持企业 Java 组件(EJB)的开发、部署、运行和管理功能,提供对后台数据库系统和企业信息系统的访问能力,提供标准的消息传送机制等功能的应用服务器软件已经成为当前应用服务器软件的共同之处。基于 J2EE 应用服务器的软件系统的整体结构如图 1.1 所示。图 1.1 基于应用服务器的软件结构及特点整体上看,基于 ASSP 的整个软件系统由四个大层次构成。最底层是 Java 虚拟机(JVM)层,一般由计算机系统厂商免费用提供;上面就是 ASSP,由 ASSP 开发商提供。这一层是整个应用系统开发、部署、运行和管理的基础架构层,是本项目要开发的内容。其上层的电子商务/企业应用框架是基于 ASSP 开发的、针对特定种类电子商务/企业应用的“标准”积木块,这一层产品由 ASSP 厂商或第三方软件厂商来提供。类似的产品有“电子商务服务器”等等。最上层是由应用软件开发商/开发人员定制开发的电子商务/企业应用。 纵向来看,底层的产品和技术最标准、最开放,层次越高,越不标准,需要定制的也越多。从价值角度来看,最向上就越接近最终的应用解决方案。底层软件的供应商如果能够向最顶层提供更多的内容,增值也就越多。 2. ASSP技术发展的总体趋势技术发展的总体趋势综合各技术与市场分析机构及我们的研究,可以把 ASSP 技术发展的总体趋势归纳为以下的四个大方向。总的来看,ASSP 部分基本技术、基本框架未变。ASSP电子商务企业应用解决方案(定制开发商)电子商务企业应用框架(预制件供应商)应用服务器(基础架构供应商)JVM市市场场潜潜力力增增值值解解决决方方案案定定制制到到开开放放软件版权保护与授权系统的设计与实现 第一章 绪论3的核心内容更加标准化,ASSP 包含的功能更丰富,ASSP 横向与其它系统有更多的联系。ASSP 本身也向上延伸,把部分应用框架方面的内容容纳入自身。上述动向具有普遍的意义。(1)趋势一:技术越来越“标准”化,遵循“标准”成为必须(2)趋势二:扩展服务与功能是区分 ASSP 的重要特性(3)趋势三:集成新的关键技术(4)趋势四:与其他软件打包成平台套件1.1.2 J2EE 的现状及发展优势J2EE 自产生以来就在需求不断变化中不断的发展,应用服务器产品的发展紧紧跟随着 J2EE 的脚步。当前应用服务器厂商使用最广泛的是 J2EE 1.4 版本的规范。 Java EE 5 新版本已经在 2006 年的 5 月正式发布。JavaEE 5 不是对 J2EE 的简单重新命名,而是作了重大的修改。Java EE 5 关注的重点是简化应用开发,尤其是大量采用元数据标注(annotation)和 POJO(普通 Java 对象)驱动的开发方式,对平台进行了重新定义。对比此前的 J2EE 1.4 规范,Java EE 5 最重要的新增特性包括 Java 持久化 API(即 EJB 3 entity bean) 、JSF、JSTL 等。随着 Java EE 5 的发布,已经开始有遵循 Java EE 5 的应用服务器产品问世。纵观 J2EE 规范及应用服务器的发展,呈现出如下的发展趋势: (1)趋势一:应用服务器产品套件化 目前各应用服务器产品的基本功能已经趋于同质化,各厂商竞争热点转为如何为应用提供更多的增值功能服务和更好的性能。针对这一特点, Gartner 提出了应用平台套件 (Application Platform Suites ,简称 APS)的概念。根据 Gartner 的定义, APS 由一批基础软件组装而成,这些基础软件提供创建企业应用所需的架构。例如:企业应用服务器、门户产品和企业应用集成包等。根据 Gartner 的报告,到 2007 年绝大多数中大型企业会在其项目中使用 APS 技术 (概率 0.8) ,市场上绝大多数软件架构产品将是由专业的基础架构构件组成的模块化的集成套件 (概率 0.8) 。另外,许多应用服务器产品已经逐渐发展成为支持软件生命周期管理的平台套件,此类套件提供软件的定义、设计、开发、测试、部署与管理维护一系列的功能,企业通过它可以更快更好地构建应用系统,简化管理并降低系统运营和维护成本,获得最佳 ROI(投资回报) 。 (2)趋势二:应用服务器产品提供对 SOA 的支持 随着一些重要 Web Services 标准的发布,Web Service 在大量工具和产品中得以实现,并趋于成熟。借助 WebService 技术实现完全面向服务的技术体系的SOA(Service Oriented Architecture,面向服务的架构)也从当初的模糊理念开始慢慢变得清晰,并被认为是“下一代 Web 服务的技术架构”。各软件供应商和方案集成软件版权保护与授权系统的设计与实现 第一章 绪论4商也认为当前的 SOA 市场已经到了开花结果的时候。根据 Gartner 的预测“到 2008年,企业 80%的应用都将通过使用 SOA 来实现,从 2006 年开始,企业实施 SOA将进入高峰期。 ”2006 年 4 月 20 日,SUN 在其召开的“组合应用平台软件(CAPS) ”发布会上宣布 SUN 公司已拥有了完整的基于 SOA 架构的开发、部署和管理集成服务体系。所有这些都预示着 SOA 架构的理念已经趋于成熟并到了全面实施的阶段。应用服务器作为最为重要的一类中间件,对 SOA 的支持将成为其技术研发的重点。(3) 趋势三:应用服务器将逐渐的向企业业务领域渗透,更多地关注企业的业务流程 对于特定行业的业务流程管理,有着各自的产品系统,如:ERP,CRM,SCM等。但它们之间没有一个统一的标准,这就需要一个标准将这些软件标准化,从而让它们只是关注于各自的业务领域。换句话说,基于应用服务器架构,这些行业产品只需要关注各自的业务需求,而不用关心架构方面的组织与实现。总的来看,应用服务器正朝着大而全的方向发展。基于应用服务器的开发可以满足各个行业的需要,可以用于企业的关键业务系统,开发过程更简单,周期更快捷,应用架构更柔性将是下一代应用服务器追求的目标。1.1.3 WebSphereWebSphere 是 IBM 的集成软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。 WebSphere 提供了可靠、灵活和健壮的集成软件3。WebSphere Application Server 是该基础设施的基础,其他所有产品都在它之上运行。1. WebSphere产品的目标产品的目标WebSphere Application Server 的发展历程中一直有几个基本目标:(1)为企业计算提供一个平台WebSphere 产品的第一个目标就是提供一个平台,将核心的企业计算与web 计算相互融合。适当的组合这些功能可以使企业在市场上获得重要的竞争优势。在中间件和软件的世界中,通常这是一个基本的角色。这个目标使得WebSphere 成为了一个用于企业计算的平台。(2)为创新提供一个平台对于运行商务的企业来说,拥有一个稳定的和可靠的平台是很重要的也是首要的。WebSphere 也可以作为新技术的平台。 WebSphere 是个现代的软件工程平台。它引入了许多新的技术,用户可以使用这些技术为大大小小的不同组织提供解决商业问题的方案。例如, WebSphere 在 J2EE 环境中引入了 Web 服务软件版权保护与授权系统的设计与实现 第一章 绪论5的概念,并且以 种使得 web 服务更容易被采纳和利用的方式进行了实现。在已有的 WebSphere 版本中对技能的需求没有跳跃式的发展和阶梯式的变化。在webSphere Aoolication Server 的企业版中也同样有着新技术。这个发行包中包含了几种关键的功能。首先,这些功能扩展了J2EE 和 web 服务程序设计模型。这些新的接口可以使开发人员更容易地解决复杂的问题。这些新的接口还为那些会出现在未来 J2EE 版本中的接口提供厂 个预览。Activity Service(JSB-95)、WorkArea(JSR-149)和 Internationalization Service(JSR-150)都是企业版的程序设计模型扩展,它们是将会在未来采用的标准。新技术还开始使用一个完备的产品平台,因此除了具有新的功能,还需要它可以作为产品来使用。在WebSphere5.0 中引入的 Extended Deployment 发行包所提供的第二组功能也表现出了创新性。这组功能(也被称为 “服务的品质 ”)可以将 WebSphere 应用程序部署在复杂和动态的环境中。虽然这些创新和特性并不影响应用程序的程序设计接口,但是它们可以保证大规模的应用程序部署能够成功地在各种复杂的环境中进行。(3)使应用程序开发人员可以专注于应用程序的建立,而不是基础结构的建立WebSphere 的第三个目标产生于工程小组有中间件的思想。 WebSphere 的目标或者说它正在寻求的目标是使应用程序的开发入员可以专注于应用程序的建立,而不是去建立中间件。今大,各种类型的应用程序具有更多的功能,因此出更加复杂,而中间件的任务就是提供一些服务和功能,使得开发人员能够建立应用程序,而不是建立运行应用程序的基本中间件。(4)建立和维持标准的领导地位建立个平台还意味着需要在标准中建立和维持领导地位,这就是WebSphere Application Server 的第四个产品目标。 J2EE 标准、改进了的 web服务标准、COBRA 标淮以及其他许多标准都是 WebSphere 产品或者所有WebSphere 平台所关注的。 WebSphere 不仅仅是不断地引入标准,并为正在进行的标准定义活动作出贡献,而且还能够尽早地提供这些标准的实现,更重要的是这些实现具有高度的适应性,健壮性,可扩展性和可靠性。(5)提供一系列灵活的产品配置选项WebShpere 产品的最后个目标是在不同的 WebSphere Application Server版本中包装和组织各种功能。虽然不同的WebSphere 配置具有不同的目的和功能,但是 WebSphere 产品的紧密性和结构可以使用户非常容易地从一个版本升级到另个版本。2. WebSphere原则原则除了这一系列产品的目标之外,还有一系列的价值和原则驱动着WebSphere平软件版权保护与授权系统的设计与实现 第一章 绪论6台。这些内容是软件工程师们在WebSphere上进行开发的基本的原则:(1)将平台作为开发的根源在WebSphere上工作的软件工程师们会利用平台概念,并会以自己的观点、从自己的环境出发来理解它。对于WebSphere工程师来说,平台就意味着他们可以得到一些服务,这些服务保持并工作在一个单独的单元上,并且提供了完整、丰富和健壮的特性。这是第一个也是最具影响力的WebSphere原则。WebSphere是建立在操作系统上的一个高效的层,它可以提供建立下一代电子商务应用程序所需的程序设计抽象(至少是对Java进行了结合)。从程序设计接口(API)的角度来看,J2EE和应用程序服务器都是高效的分布式操作系统。从性能、可靠性、有效性、可恢复性、可使用性以及可服务件的角度来看,WebSphere也是一个分布式操作系统。(2)调节核心的能力第二个原则是利用核心的能力。IBM中有大量的天才软件工程师,他们分步在全球各个角落。当需要特殊的技能时,IBM之中的拥合这些技能的小组将会被组织到一起为应用程序服务器的开发做出自己的贡献。例如,当JMS成为J2EE的一个组成部分时,WebSphere小组就通过消息小组来提供WebSphere MQ和应用程序服务器所需的JMS组件。当面向对象的查询服务进入J2EE规范中时,构造IBM Component Broker查询服务的小组就负责提供这方面服务的组件。通常,WebSphere会利用团体的力量来构造WebSphere Application Server,因此就需要最大限度地得到整个IBM软件部门的支持。(3)健壮性健壮性是第三个关键的原则。要做到健壮, WebSphere 就需要将用户代码的执行与系统代码的执行相隔离。 般情况下,并没有可以依赖的将用户编写的代码从系统中分离或者隔离的 “内核模式”。WebSphere 通过一系列内部的组件和一些具有高度可靠件、有效性和可服务性的功能为应用程序提供丁一个可信赖的环境。在很多情况下, WebSphere 运行时会报告问题的发生,指比实际上是哪一行代码(用户代码与系统代码相似)触发了这个事件或者错误,并提出解决问题的建议。产品中还建立了知识库。即使错误发生在很短的时间内,系统也会记住这个错误并且立即收集其他的可以用于诊断的信息提出解决方法。保持WebSphere JVM 的运行是系统健壮性的关键。 WebSphere 通过为其精心打造的程序设计和隔离技术,可以阻止不良的应用程序代码使整个服务器崩溃。(4)使用自己的销售技术第四个也是最后 条应用于应用程序服务器或者整个平台的原则是 “使用自己出售的技术 ”。这条原则表明 WebSphere 所提供的技术也可以用于建立WebSphere 的组件。例如, WebSphere Apllication Server5.0 版本说提供的管理支持就是一个 J2EE 应用程序,它主要应用了 sevlet 和 JSP 页面。在软件版权保护与授权系统的设计与实现 第一章 绪论7WebSphere Apllication Server Enterprise 中,许多组件(其中包括 Business Rule Beans 和 Workflow)都在它们的实现中使用了诸如实体EJBs 这样的 J2EE API。1.3 设计任务设计任务随着 Web 应用的普及和发展,随之使用的中间件也越来越多。Websphere 作为目前使用的众多中间件一种,为了帮助用户更好的维护的 Websphere 的性能和可靠性,使其能够正常的运行,需要对该中间件的性能进行监测。本文的任务就是设计并实现一个监测 Websphere 性能的工具,具体任务如下:(1)参阅相关资料,了解 WebSphere 运行原理。(2)参阅相关资料,了解 WebSphere 重要性能指标。(3)通过阅读相关资料和代码,熟悉监测 WebSphere 性能的关键技术。(4)构建开发和测试环境,编写性能监测系统。能够对 Websphere 性能进行检测,主要包括 JVM、Web 容器(Thread Creates:线程数、Thread Destroys:销毁的线程数、 Active Threads:活动线程数、 Pool Size:线程池的当前值接近所规定的最大值时)和 EJB 容器以及远程连接池(Num Creates、Num Closes、Num Allocates、Num Returns、Pool Size、Free Pool Size、Concurrent Waiters) 。1.4 论文的组织论文的组织论文共分为五章。第一章绪论部分。这一章简单介绍了课题的研究背景,如中间件简介,应用服务器的技术发展趋势,J2EE 的概念及优势,以及 J2EE 应用服务器的现状及发展趋势、WebSphere 简介。同时介绍了本课题的任务,并阐述了对应用服务器WebSphere 进行监测必要性和重要意义。第二章相关技术介绍。这一章主要介绍了本系统用到的几个关键技术,对每个关键技术的特点、用法都做了介绍。第三章系统的需求分析。这一章分析了本课题的必要性,对此次毕业设计的提出了功能及性能要求。第四章系统的总体设计。这一章进行总体设计和功能划分。提出了平台的体系结构并指出了系统的运行环境及开发次性能监测软件所需的关键技术。第五章 WebSphere 性能监测软件的详细设计。这一章主要介绍了该系统在开发过程中的关键设计与具体实现,分模块进行了详细的介绍。 第六章结束语。这一章主要总结了该系统的设计与开发工作,并阐述了完善该系统以后所要做的工作。软件版权保护与授权系统的设计与实现 第一章 绪论8最后的致谢,对所有在毕设期间对我帮助的人表示最衷心的感谢。WebSphere 性能监测设计与实现 第二章 相关技术简介9第二章 相关技术介绍要实现 WebSphere 应用服务器的监测,除了要对在第一章所介绍的背景知识有所了解之外,还需对相关技术比较熟悉,本章内容介绍此次设计所需用到的部分技术以及 WebSphere 本身自带的监测工具以及市面上已有的一款免费监测软件。了解这些内容对完成此次毕业设计有很大的帮助。2.1EclipseEclipse 最初是 IBM 的一个软件产品,前期投入了 4000 万美金。2001 年 11 月,IBM 宣布将其捐给开放源码组织 Eclipse.org。目前 Eclipse 的市场占有率已经超过了Borland 公司的 JBuilder,成为 Java 开发平台中的主流。Eclipse 是用 Java 实现的,它提供了许多通用的额服务,这其中就包括基本的用户界面框架,也就是 Eclipse工具中的各种窗体和控件的行为都是一致的。尽管底层的实现是 Java,但是 Eclipse也拥有自己的 Standard Widget Toolkit(SWT,标准小窗口工具集)用户界面小窗口集,这小窗口集为本地平台的小窗口和控件提供了 Java 接口。因此,Eclipse 并不像是一个 Java 应用程序,它看起来更像是一个能够支持所有平台的本地应用程序。2.1.1 Eclipse 思想Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。基于 Eclipse 的应用程序的突出例子是 IBM 的 WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio WebSphere 性能监测设计与实现 第二章 相关技术简介10Application Developer 添加了对 JSP、servlet、EJB、XML、Web 服务和数据库访问的支持。Eclipse 的设计思想是:一切皆为插件。它自身的核心是非常小的,其它所有的功能都以插件的形式附加到该核心上。Eclipse 中三个最吸引人的地方:一是它创新性的图形 API,即 SWT/JFace,在此之前,我曾经用过 Java 的 AWT/SWING 来开发 Windows 应用程序,AWT/SWING 其界面客观地讲不够美观,而且界面响应速度比较慢;而 SWT/JFace 则大大改善了 Java 在这方面的能力。二是它的插件机制。三是利用它的插件机制开发的众多功能强大的插件。2.1.2 Eclipse 架构Eclipse 的基础是富客户机平台(Rich Client Platform, 即 RCP)。RCP 包括下列组件: (1)核心平台(启动 Eclipse,运行插件) (2)OSGi(标准集束框架) (3)SWT(可移植构件工具包) (4)JFace(文件缓冲,文本处理,文本编辑器) (5)Eclipse 工作台(即 Workbench ,包含视图(views)、编辑器(editors)、视角(perspectives)、和向导(wizards) Eclipse 采用的技术是 IBM 公司开发的(SWT),这是一种基于 Java 的窗口组件,类似 Java 本身提供的 AWT 和 Swing 窗口组件;不过 IBM 声称 SWT 比其他Java 窗口组件更有效率。Eclipse 的用户界面还使用了 GUI 中间层 JFace,从而简化了基于 SWT 的应用程序的构建。Eclipse 的插件机制是轻型软件组件化架构。在富客户机平台上,Eclipse 使用插件来提供所有的附加功能,例如支持 Java 以外的其他语言。 已有的分离的插件已经能够支持 C/C+(CDT)、Perl、Ruby,Python、telnet 和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,例如配置管理,而决不仅仅限于支持各种编程语言。2.1.3 MyEclipse6.0MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 J2EE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate 等。简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 J2EE 集成开发环境,支持代码编写、配置、测试以及除WebSphere 性能监测设计与实现 第二章 相关技术简介11错。在结构上,MyEclipse 的特征可以被分为 7 类:(1)J2EE 模型(2)WEB 开发工具(3)EJB 开发工具(4)应用程序服务器的连接器(5)J2EE 项目部署服务(6)数据库服务(7)MyEclipse 整合帮助对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。此次毕业设计我采用 MyEclipse6.0 作为开发环境进行监控软件的编写。2.2JMXJMX(Java Management Extensions,即 Java 管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX 可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。2.2.1 JMX 功能JMX 是一套标准的代理和服务,实际上,用户可以在任何 Java 应用程序中使用这些代理和服务实现管理。Java 管理扩展 JMX 致力于解决分布式系统管理的问题,因此,能够适合于各种不同的环境是非常重要的。为了能够利用功能强大的Java 计算环境解决这一的问题,Sun 公司扩充了 Java 基础类库,开发了专用的管理类库。JMX 是一种应用编程接口,可扩充对象和方法的集合体,可以用于跨越一系列不同的异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用它提供了用户界面指导、Java 类和开发集成系统、网络及网络管理应用的规范。管理对象是 JMX 应用程序的核心。JMX 结构包括:支持 Java 的 Web 浏览器用户接口,管理运行模块 ARM(Admin Runtime Module)和应用。这三个部件之间通过 RMI(Remote Method Invocation)进行通信。这里需要说明的是,RMI 是使得一个 Java 虚拟机(JVM)上运行的程序可以调用远程服务器上另一个 JVM 总的对象。WebSphere 性能监测设计与实现 第二章 相关技术简介12用户接口用来发布管理操作,这些操作可以间接的通过浏览器或通过单独的应用程序来激发。管理运行模块用来给应用提供实例化的管理对象。它包括 Agent 对象接口,通知接口和被管数据接口。应用指的是那些被管设备单元。JMX 是一个完整的网络管理应用程序开发环境,它同时提供了:厂商需要收集的完整的特性清单,可生成资源清单表格,图形化的用户接口;访问 SNMP 的网络API;主机间远程过程调用;数据库访问方法。JMX 这一轻型的管理基础结构,价值在于对被管理资源的服务实现了抽象,提供了低层的基本类集合,开发人员在保证大多数的公共管理类的完整性和一致性的前提下,进行扩展以满足特定网络管理应用的需要。JMX 注重于构造管理工具的软件框架,并尽量采用已成熟的技术。JMX 可以用来管理网络,设备,应用程序等资源。2.2.2 JMX 优点及好处1. JMX优点优点(1)可以非常容易的使应用程序具有被管理的功能 (2)提供具有高度伸缩性的架构每个 JMX Agent 服务可以很容易的放入到Agent 中,每个 JMX 的实现都提供几个核心的 Agent 服务,你也可以自己编写服务,服务可以很容易的部署,取消部署。 (3)主要提供接口,允许有不同的实现。2. JMX好处好处(1)可减少对JAVA应用实施管理的投资 (2)提供了一个可伸缩的管理框架 (3)集成现有的管理方案:如:WBEM,SNMP,TMN (4)使用现有的标准JAVA技术 (5)能使用未来的一些管理概念:如Jini连接技术、通用即插即用、服务定位协议(Service Location Protocol) (6)只定义了一些可以访问的接口2.3WebSphere 性能监测工具性能监测工具2.3.1 WebSphere Server 控制台WebSphere Server控制台提供了一个易使用的界面来执行WebSphere Server的系统管理。控制台的底层体系结构是Java扩展管理API,除了管理配置功能之外,提供了丰富的监控功能。WebSphere 性能监测设计与实现 第二章 相关技术简介131.JDBC监控监控在连接池Monitoring选项卡中,WebSphere Server控制台为每一个数据库连接池提供了实时统计信息。其中有三个重要参数可以反应WebSphere Server的健康状况:Connections High、Wait Second High和Waiters High。Connection High表示从服务器启动开始后到达池的最大连接数量,如果大于池的最大数量,则需要调整Maxium Capacity。Waiters High表示在没有可用连接的情况下,应用程序等待连接的最大个数。我们可以根据Waiters High的大小调整连接池容量。2.Web监控监控Web Application Monitoring选项卡可以监控Web应用的Session个数,以及Servlet的响应情况,激活Session Monitoring Enabled可以获取所有session的统计情况。3.JMS监控监控WebSphere Server控制台的JMS监控功能比较多,不仅在Server JMS Monitoring选项卡可以监控Active JMS Connections、Pooled JMS Connections和Active JMS Servers的连接和使用情况。还可以监控JMS Session Pool、Active JMS Destinations和Durable Subscribers的消费和生产情况。比如,我们可以监控到JMS Queue的接收和消费消息的数量和字节数。4.EJB监控监控EJB监控包括对SLSB(Stateless Session Bean,无状态会话Bean) 、SFSB(Stateful Session Bean,有状态会话Bean) 、Entity Bean(实体Bean) 、MDB(Message Driven Bean,消息驱动Bean)四种EJB的监控。EJB监控提供了非常丰富的运行时统计信息非常有利于我们对EJB进行性能调优。SLSB选项卡为用户提供实例池的运行时统计信息。Pool Miss Ratio 表示实例池的Miss率,Pool Waiter Total Count表示线程等待Bean实例的累计时间,Pool Timeout Total Count表示超时的线程数。当Pool Miss Ratio较大时,可以增加max-beans-free-pool。SFSB可以关注Cache Miss Ratio和Activation Count。Cache Miss Ratio过大时,调大max-bean-in-cache未必有帮助,需要尝试不用的max-bean-in-cache以获得最低的Cache Miss Ratio。激活将严重减慢应用程序的速度,如果某一个Bean的Activation Count的值过高,那么需要考虑增加max-bean-in-cache的大小。Entity Bean结合了SLSB的free pool和SFSB的cache。可以结合上面的策略进行监控。 WebSphere 性能监测设计与实现 第二章 相关技术简介14而MDB仅比SLSB多一个参数JMSConnection Alive,报告EJB是否成功连接到JMS目的地。2.3.2 JConsoleSun公司推出的基于JMX的JConsole于2005年12月面世,它是一组以极低的开销来监控、管理和分析生产环境中的应用程序的工具。它包括三个独立的应用程序:管理控制台(Management Console) 、JVM运行时分析器(Runtime Analyzer)和内存泄漏监测器(Memory Leak Detector) 。JConsole是一个基于JMX的控制台,用于监控和管理JVM,提供至关重要的状态数据和控制JVM的运行时特性的方法。它捕获并显示关于垃圾收集器(GC)暂停、内存、堆使用和CPU负载的实时数据,以及部署在JVM内部MBean服务器上注册的所有JMX MBean所公开的信息。JVM管理包括对CPU相似性、垃圾收集策略和内存池大小的动态控制,还包括一个开销低的方法分析器和一个异常计数器。虽然Java的自动内存管理机制把开发人员从显式地分配和释放所使用内存的重担下解放出来,但如果程序继续引用不再有用的对象时,内存泄漏还是有可能发生。JRockit Memory Leak Detector工具用来发现和查找内存泄漏原因。趋势分析器为用户提供了一个趋势分析,可以发现非常缓慢的泄漏,显示详细的堆统计信息(包括指向泄漏对象和分配位置的引用类型和实例) ,可以说明应用程序中每个类使用堆空间的情况,显示某一类型的实例使用了多少空间、它们占用了堆的哪一部分、存在多少个实例以及每秒钟堆空间使用的增加速度(以字节为单位) ,并快速找出泄漏原因。使用先进的图形化表现技术,以便更容易定位和理解有时比较复杂的信息。WebSphere 管理控制台利用底层的JConsole监控和管理API,为开发人员和系统管理员提供了对内部工作和网络间多个JVM实例的行为的实时可见性和控制能力。它能够提供最新的信息,这些信息包括CPU利用率、GC暂停时间、堆利用率、线程的个数和状态,以及运行时行为,如花费在个别方法上的时间。线程堆栈的转储也可以通过控制台来捕获。WebSphere 管理控制台为诸如垃圾送收集参数的运行时行为提供了实际控制。 基于规则的警报、异常通知和边界条件通知(例如过高的堆利用率)可以帮助开发人员和系统管理员确定并理解应用程序的行为问题,并在发生灾难性失败之前纠正它们。2.4 本章小结本章小结WebSphere 性能监测设计与实现 第二章 相关技术简介15本章介绍了开发 WebSphere 监测软件中用到的几个关键技术,并依次介绍了各个技术的优势及用法。本章为系统的开发奠定了坚实的基础。WebSphere 性能监测设计与实现 第三章 需求分析16第三章 需求分析应用服务器作为电子商务发展的产物,应用服务器又称为“应用服务器软件平台”,是最重要的一类中间件软件。但是它并不意味着是老产品的位置重置,因为它不是把交易管理、数据访问等诸多中间件和别的中间件产品和技术简单地打包在一起,因为当前的应用服务器软件都是基于对象或组件技术的,各种中间件功能必须以面向对象或组件的方式提供。此外,它还需要把另外重要的、增加价值的功能加进来,如:对象或组件的部署、运行时及管理功能。随着应用服务器的普及,各种应用服务器产品层出不穷,IBM 公司的 WebSphere Application Server 就是应用服务器大军中的一员,为了给用户提供更好的选择依据,并且对应用服务器进行更好的维护,开发一款针对 WebSphere 的监测软件势在必行。3.1 问题分析问题分析WebSphere 性能检测系统是实时获取 WebSphere Application Server(WebSphere应用服务器)状态以便进行维护的软件,同时也可获得其性能指标用以评价其性能优劣。基于此目的,总结出本性能检测软件需要解决以下问题:1需要读取何种数据用以达到更好地维护的目的需要读取何种数据用以达到更好地维护的目的针对这一个问题,主要是通过分析WebSphere Application Server(WebSphere应用服务器)的主要功能模块,获得相应模块参数,即可据此获取WebSphere状态及性能优劣状态,本次设计主要分析了以下几个方面:(1)EJB(Enterprise Java Bean)(2)JVM(Java虚拟机)(3)线程池(4)JDBC(Java DataBase Connectivity standard)2如何读取这些数据如何读取这些数据针对第二个问题,由于WebSphere Application Server(WebSphere应用服务器)是基于Java的应用服务器,主要是要解决如何从运行WebSphere的JVM读取性能参数,上一章中提及的JMX技术可以为此提供极大的帮助,利用JMX提供的管理构件(MBean)可以获取该JVM上的大量性能参数,进行方便的监测。3如何保存这些数据如何保存这些数据针对第三个问题,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!