WebSphere Application Server 性能监控与优化


May 25, 2010 © Neusoft Confidential WebSphere Application Server 性能监控与优化 李欢峰 高级软件工程师 解决方案技术中心 Copyright 2010 By Neusoft Group. All rights reserved WebSphere Application Server简介 如何开展性能监控 如何进行性能优化 25 May 2010 Confidential WebSphere Application Server简介 ‹ WebSphere产品家族 ‹ WebSphere Application Server基础架构及 体系结构 ‹ WebSphere Application Server新版本及特 性概览 25 May 2010 Confidential 关于 WebSphere • WebSphere是IBM的集成软件平台。它包含了编 写、运行和监视全天候的企业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个 中间件基础设施,如服务器、服务和工具,以及可 靠、灵活和健壮的集成软件。 • WebSphere Application Server 是该平台的基础, 其他所有产品都在它之上运行。 25 May 2010 Confidential WebSphere 集成参考体系结构 25 May 2010 Confidential WebSphere的功能 • 人员集成 • 流程集成 • 信息集成 • 应用集成 • 应用程序基 础设施 25 May 2010 Confidential 人员集成(交互功能) • 人员集成功能允许客户、雇员和业务合作伙伴随时 随地与业务信息、应用程序和业务流程交互。例 如,使用这些功能,您可以实现呼叫中心功能的自 动化,然后授权选定的雇员、客户和业务合作伙伴 从他们的个人计算机、移动电话和 PDA 访问这些 功能。 • 以下 WebSphere 产品提供了人员集成(或交互) 功能: – WebSphere Portal – WebSphere Everyplace – WebSphere Voice 25 May 2010 Confidential 流程集成 • 企业可以使用流程集成功能对业务流程进行建模、 编排、监视和优化,以使它们与战略业务目标保持 一致。例如,可以对某个关键业务流程建模,然后 模拟它,细化它,使人们能够方便地与它交互,将 它投入生产应用,监视它,优化它,然后在业务需 求发生变化时快速和智能地调整它。 • 以下 WebSphere 产品提供了流程集成功能: – WebSphere Business Modeler – WebSphere Business Monitor – WebSphere Process Server – WebSphere Integration Developer 25 May 2010 Confidential 信息集成 • 信息集成功能允许创建不同来源的结构化和非结构 化信息的一致和统一视图,以及管理和同步产品参 考信息。例如创建跨所有信息资产的自由格式的搜 索,包括 Web 站点、关系数据库、文件系统、新 闻组、门户、协作系统和内容管理系统。 • 以下 WebSphere 产品提供了信息集成功能: – WebSphere Product Center – WebSphere Information Integration – WebSphere Commerce 25 May 2010 Confidential 应用程序集成 • 应用程序集成功能提供广泛的服务来支持跨应用程 序的可靠和灵活的信息流,这些应用程序可能在不 同的企业中运行。可以简单地在应用程序之间交换 消息,或者如果业务需要更复杂,您可以创建一个 灵活的、面向服务的体系结构,以支持跨广泛应用 程序的系统性信息交换,这些应用程序在不同的公 司服务器和平台上运行,并使用不同的语言。 • 以下 WebSphere 产品提供了应用程序集成功能: – WebSphere MQ – WebSphere Message Broker – WebSphere Partner Gateway – WebSphere Application Server 25 May 2010 Confidential 应用程序基础设施 • WebSphere 应用程序基础设施使您能够构建、部 署、集成和增强新的和现有的应用程序。例如,您 可以让遗留系统支持 Web 和扩展它们,并使它们 能够在 Java 环境中运行。 • 以下 WebSphere 产品提供了应用程序基础设施功 能: – CICS Transaction Server – WebSphere Application Server – WebSphere Host Access Transformation Services – WebSphere Developer for zSeries 25 May 2010 Confidential WebSphere Application Server • WebSphere Application Server(WAS)为客户提 供了Java业务应用的运行平台 • 实现了Java 2 Enterprise Edition (J2EE) 规范 • 提供业务应用所需的各种服务 (数据库连接,线程 管理,负载管理等) 25 May 2010 Confidential WAS v6新特性概览 • 编程模型 • Profile概念 • 系统管理 • 增强的EAR • WRD (WebSphere Rapid Deployment) • 平台消息 • 负载管理 – 高可用性 • 日志和跟踪 • 安全 25 May 2010 Confidential WAS基础架构 25 May 2010 Confidential WAS体系结构 • 节点(node)是对服务器的 逻辑分组 – 每个节点由一个node agent进程管理 • 部署管理器(deployment manager)进程管理node agent进程 – 保存整个管理域(成为 一个单元,cell)中所 有节点的配置信息 – 管理控制台应用运行 在DMgr进程中 25 May 2010 Confidential WAS体系结构 • 受管节点(managed node)是包含node agent的节点 – 即v5中的“node” • 非受管节点(unmanaged node) 是不包含node agent进程的节点 – 整个拓扑环境仍能够感知到该节点的存在,用 于将HTTP服务器定义为拓扑的一部分,并为不 同的HTTP服务器创建不同的插件配置 – 没有node agent使得该节点不接收WebSphere 的管理 25 May 2010 Confidential WAS Profile • WebSphere 应用服务器 v6被分为两个部分 – 一组是共享只读的产品文件 – 另一组是配置文档 • 所有可配置的WebSphere文档被称为Profile,并统 一放在一个 Profile目录下 • 这些配置文件包括WebSphere 配置信息,应用,以及 属性文档 25 May 2010 Confidential Profile的优点 • 通过Profile使得多个WebSphere运行时环境共享相 同的产品二进制文件. – WebSphere运行时环境是指: • 独立节点 • 受管节点 • 部署管理器(deployment manager) • 节省了磁盘空间 (随着服务器的增加,磁盘空间节 省量以指数级增加). • 简化了产品升级过程 (只需升级核心二进制文件,无 需对每个服务器以及配置信息进行升级) 25 May 2010 Confidential 服务器管理 25 May 2010 Confidential WAS版本概览 • WebSphere Application Server v6.0提供以下几个版本: – WebSphere Application Server v6 – WebSphere Application Server v6 - Express – WebSphere Application Server v6 - Network Deployment • 同V5中Express版本不支持J2EE规范的情况不同,V6版 本的应用服务器各个版本都具备相同的核心代码和基本 功能。 • 主要的运行平台包括: – Windows 2000, XP, 2003 – Linux/x86, Linux/PPC, zLinux – Unix platforms: AIX, Solaris, HP-UX – i5/OS and OS/400 on iSeries platform – z/OS 25 May 2010 Confidential WAS v6版本特性列表 Content WebSphere Application Server v6 – Express WebSphere Application Server v6 WebSphere Application Server v6 Network Deployment Standalone Node Yes Yes Yes Rational Web Developer, AST Other Bundled Software DB2 Express 1 (Dev. Use only) IBM Business Solutions 2 DB2 Express 1 (Dev. Use only) DB2 Edge Components IBM Tivoli Directory Server (LDAP) IBM Tivoli Access Manager Core Application Server Standalone Node Deployment Manager, Standalone Node, Managed Node IBM HTTP Server v6 Web Server plug-ins Yes Yes Application Client (not on zLinux) Yes Yes Data Direct JDBC drivers 1 Yes Yes Development and/or Deployment Tools 2 Rational Application Developer Trial, AST Rational Application Developer Trial, AST Windows platform only 1 Windows and Linux/x86 platforms only 2 25 May 2010 Confidential 性能监控 ‹ 性能监控对象 ‹ 性能监控基础结构(PMI) ‹ 日志和跟踪 ‹ 监控工具 ‹ 常用性能计数器 25 May 2010 Confidential 性能监控对象 度量值 含义 平均响应时间 响应时间统计信息表明在 WebSphere Application Server 的各个部分所花费的时间,并且可以快速 地表明哪里存在问题。 请求(事务)数查看WebSphere Application Server 处理了多少 请求(事务),能够有助于确定必须要管理的容量。 当事务数增加时,系统的响应时间可能也在增 加,这表示需要更多系统资源或需要重新调整系 统以处理增加的流量。 活动HTTP会话数 活动 HTTP 会话数反映并发使用站点的情况。并 发活动会话数越多,需要的内存就越多。当活动 会话数增加时,可以调整会话超时值或者可以调 整 Java 虚拟机(JVM)堆。 25 May 2010 Confidential 性能监控对象 续 度量值 含义 Web 服务器线程池 Web 和 EJB线程池 数据库连接池 Java 虚拟机(JVM) 使用 JVM 度量值来了解 JVM 堆的变化情况(包括 垃圾回收频率)。此数据可帮助设置最佳堆大小。 另外,使用度量值以识别潜在的内存泄漏。 CPU、内存、I/O等 必须观察这些系统资源以确保拥有足够的系统资 源(例如,CPU、内存、I/O )来处理工作负载。 这些线程池可能会由于其大小而约束性能。线程 池设置可能太小,也可能太大,因此会导致性能 问题。线程池设置太大会影响系统上所需的内存 量,或者如果下游资源无法处理大量流入的工作 则可能会导致太多工作流到下游。如果下游资源 可以处理增加的工作负载,那么线程池设置太小 也可能会导致瓶颈。 25 May 2010 Confidential 性能监控基础结构 (PMI) • 性能监控基础结构(Performance Monitoring Infrastructure)是WebSphere Application Server 和WebSphere系列产品的核心监控基础结构。 • PMI 提供解释运行时和应用程序资源行为的一组全 面的数据。例如,数据库连接池大小、servlet 响应 时间、 EJB方法响应时间、Java 虚拟机垃圾回收 时间以及 CPU 使用量等等。 • 可以使用此数据来了解线程池和连接池等的运行时 资源使用模式以及应用程序组件(如 servlet、JSP 和企业 bean)的性能特性。 25 May 2010 Confidential 性能监控基础结构 (PMI) 续 • PMI 用于应用程序服务器性能监视,且由 PMI 收 集的数据用于调整应用程序服务器资源(如池、队 列和高速缓存等)。因为性能检测和统计会对应用 程序服务器的性能产生相当大的影响,所以在通过 定制 PMI 添加每个统计时,必须从不影响性能的角 度出发。设计统计信息时,考虑下列问题: – 就解决性能问题考虑,进行统计的意义。 – 调整或配置应用程序的有关方面。 – 避免数据冗余和不必要的频繁数据更新。 25 May 2010 Confidential 性能监控基础结构 (PMI) 续2 • 当 PMI 服务处于启用状态时,可以动态地启用或禁 用对各个组件的监视。PMI 提供可用于启用一组统 计信息的四个预定义的统计信息集合。下表提供有 关统计集合的详细信息。如果预定义的统计集合不 能满足监视要求,那么可使用定制选项来选择启用 或禁用个别统计。 • WebSphere Application Server V6.0 引入了细粒度 控制来单独启用/禁用统计。定制统计集合可使用细 粒度控制。 25 May 2010 Confidential 性能监控基础结构 (PMI) 统计集合一览 统计集合 描述 无 禁用所有统计信息。 基本 启用 J2EE 1.4 中指定的统计以及主要的 统计(如 CPU 使用量和活动的 HTTP 会 话)。此集合是即时启用的,并提供有关 运行时和应用程序组件的基本性能数据。 扩展的 启用来自各种 WAS 组件(的基本集合以 及关键统计。此集合提供有关各种运行时 和应用程序组件的详细性能数据。 全部 启用所有统计。 定制 选择启用或禁用统计。 25 May 2010 Confidential 性能监控基础结构 (PMI) 启用方法 • 打开管理控制台,在导航树中,单击服务器 > 应用 程序服务器。 • 单击服务器,单击配置选项卡。 • 在“性能”下面,单击性能监控基础结构(PMI)。 • 选中启用性能监控基础结构(PMI)复选框。 • 或者,选择复选框使用连续计数器更新来启用精确 的统计信息更新。 • 或者,在当前监视的统计信息集下选择需要监视的 统计信息集。 • 或者,单击定制以选择性地启用或禁用统计信息。 从左侧树中选择组件并在右侧表上启用或禁用统计 信息。通过单击性能监控基础结构链接返回至 PMI 配置主页。 • 单击应用或确定并保存。 • 重新启动应用程序服务器。 25 May 2010 Confidential 日志和跟踪 • 服务器进程的诊断跟踪配置设置确定服务器进程的 初始跟踪状态。服务器启动时读配置设置并使用它 们配置跟踪服务。在服务器进程运行时也可以更改 许多跟踪服务属性或设置。 25 May 2010 Confidential 日志和跟踪 进程日志 • WebSphere Application Server 进程包含两个可供 进程中运行的本机代码访问的输出流。这些流是 stdout 和 stderr 流。本机代码(包括 Java 虚拟机 (JVM))可以将数据写入这些进程流。另外,还 可以配置 JVM 提供的 System.out 和 System.err 流,以将它们的数据写入这些流。 25 May 2010 Confidential 日志和跟踪 Java 虚拟机(JVM)日志 • 通过将 JVM 的 System.out 和 System.err 流重定 向到独立日志文件来创建 JVM 日志。WebSphere Application Server 将格式化的消息写入 System.out 流。此外,应用程序和其他代码可以使 用这些流定义的 print() 和 println() 方 法 来写入这些 日志。 25 May 2010 Confidential 日志和跟踪 IBM 服务日志 • IBM 服务日志包含写入 System.out 流的 WebSphere Application Server 消 息 和一些包含扩 展服务信息的特殊消息,IBM 服务日志以二进制格 式维护并且需要特殊工具来查看。此查看器(即日 志和跟踪分析器)提供了其他诊断功能。 25 May 2010 Confidential 日志与跟踪 日志详细信息级别 日志记录级别 描述 关闭 Off 关闭了记录 致命错误Fatal 任务无法继续,并且组件、应用程序和服务 器无法运行 严重Severe 任务无法继续,但是组件、应用程序和服务 器仍然可以运行。此级别也可以表明即将发 生的致命错误 警告Warning 潜在或即将发生的错误。此级别也可以表明 正在向故障发展(例如,潜在的资源泄漏) 审计Audit 影响服务器状态或资源的重大事件 信息Info 概述总体任务进度的一般信息 25 May 2010 Confidential 日志与跟踪 日志详细信息级别 日志记录级别 描述 配置Config 配置更改或状态 详细信息Detail 详细说明子任务进度的一般信息 良好Fine 跟踪信息——一般跟踪 + 方法入口、出口 和返回值 更好Finer 跟踪信息——详细跟踪信息 最好Finest 更详细的跟踪信息,包含调试问题所需的 所有详细信息 全部All 记录全部事件。如果创建了定制级别,那 么“所有”将包括那些级别,并且能提供比 “最精细”更详细的跟踪 25 May 2010 Confidential 工具--Tivoli Performance Viewer 菜单栏 • 服务器 – 性能监控基 础结构(PMI) 1.启用PMI 2.选择PMI统计 信息级别 25 May 2010 Confidential 工具--Tivoli Performance Viewer 25 May 2010 Confidential 工具--Tivoli Performance Viewer • 监控和调整 – 性能查看器 • 当前活动 启 动监控 25 May 2010 Confidential 工具--Tivoli Performance Viewer 25 May 2010 Confidential 工具--LoadRunner Monitor • 需要把目录 【WebSphere_HOME】 \AppServer\installableApps 下的 PerfServletApp.ear 部署在WebSphere上,并启动 应用 • 在LoadRunner中选择 WebSphere 4.x or 5.x监视 器 25 May 2010 Confidential 工具--LoadRunner Monitor • 在LoadRunner WebSphere监控器中添 加被监控主机ip及端口 • 并选择被监控主机操作 系统类型 25 May 2010 Confidential 工具--LoadRunner Monitor • 添加成功后如 图所示,可以 看到相关的性 能计数器 25 May 2010 Confidential 工具--LoadRunner Monitor 25 May 2010 Confidential 常用性能计数器 JDBC连接池 PMI与LR 的性能计数 器数量存在 差异,此文 档以PMI为 准。 以*标注的 计数器仅应 用于 5.0 数 据源。 计数器 描述 AllocateCount 分配的连接的总数 CloseCount 已关闭的连接的总数 ConnectionHan dleCount * 正在用于特定连接池的 Connection 对象 数 CreateCount 创建连接的总数 FaultCount 池中的连接超时数 FreePoolSize 池中的空闲连接数 JDBCTime * 平均调用时间,包括在JDBC驱动程序、 网络和数据库中用去的时间(毫秒) ManagedConne ctionCount * 正在用于特定连接池的 MC对象数 25 May 2010 Confidential 常用性能计数器 JDBC连接池 续 计数器 描述 PercentMaxed 所有连接的平均使用时间百分比 PercentUsed 池的平均使用率 PoolSize 连接池的大小 PrepStmtCache DiscardCount 因为高速缓存已满而废弃的语句数 ReturnCount 返回到池的连接的总数 UseTime 使用连接的平均时间,包含JBDC时间 (毫秒) WaitTime 允许连接之前的平均等待时间(毫秒) WaitingThreadC ount 等待连接的平均并发线程数 25 May 2010 Confidential 常用性能计数器 JVM运行时 计数器 描述 FreeMemory Java 虚拟机运行时中的空闲内存(KB) HeapSize Java 虚拟机运行时中的总内存(KB) UpTime Java 虚拟机已经运行的时间数(秒) UsedMemory Java 虚拟机运行时中使用的内存(KB) ObjectAllocateC ount 分配的对象数 ObjectFreedCou nt 释放的对象数 ObjectMovedCo unt 堆中移动的对象数 25 May 2010 Confidential 常用性能计数器 JVM运行时 续 计数器 描述 ThreadEndedCount 结束的线程数 ThreadStartedCount 启动的线程数 WaitForLockTime 线程等待锁的平均时间 WaitsForLockCount 线程等待锁的次数 25 May 2010 Confidential 常用性能计数器 线程池 计数器 描述 ActiveCount 并发活动的线程数 CreateCount 创建线程的总数 ActiveTime 线程处于活动状态的平均时间(毫秒) ClearedThread HangCount 清除停止的线程数 ConcurrentHung ThreadCount 并发停止的线程数 25 May 2010 Confidential 常用性能计数器 线程池 续 计数器 描述 DeclaredThread HungCount 声明停止的线程数 DestroyCount 销毁线程的总数 PercentMaxed 所有线程的平均使用时间百分比 PoolSize 池中线程的平均数 25 May 2010 Confidential 常用性能计数器 Web应用程序 计数器 描述 ConcurrentRequ ests 并发处理的请求数 ErrorCount servlet 和 JSP 文件中的错误总数 LoadedServletC ount 装入的 servlet 数 ReloadCount 重新装入的 servlet 数 RequestCount servlet 处理的请求总数 ServiceTime servlet 请求完成的平均响应时间(毫 秒) 25 May 2010 Confidential 常用性能计数器 系统数据 计数器 描述 CPUUsageSinc eLastMeasurem ent 自上次查询以来的 平均CPU 使用率 CPUUsageSinc eServerStarted 自服务器启动以来的 CPU 平均使用率 FreeMemory 系统空闲内存( KB ) 25 May 2010 Confidential 性能优化 ‹ 性能优化原则 ‹ 常见的性能优化选项 ‹ 最佳实践 25 May 2010 Confidential 性能优化原则 • 典型的 Web 系统由 Web 服务器、应用程序服务器 和数据库组成。对于 Web 系统的整体性能来说, 关键是监视和调整应用程序服务器。 • 在进行任何优化之前,确定一个系统基线,可以使 用初始优化设置 • 每次只优化一个参数,并确定可以回退 25 May 2010 Confidential 性能优化选项 • 查看硬件和软件需求 • 安装必需的更新包、修订包和建议的临时修订 • 检查硬件配置和设置 • 查看应用程序设计 • 调整操作系统 • 调整Java 虚拟机(JVM)堆大小以及GC策略 • JDBC 驱动 • 调整 WebSphere Application Server JDBC 数据源 和相关联的连接池 • 确保将事务日志分配到快速磁盘 • 调整相关组件,如数据库 25 May 2010 Confidential 性能优化 查看硬件和软件需求 • 查看 IBM WebSphere Application Server supported hardware, software, and APIs Web 站 点上的硬件和软件要求以了解相关信息。 25 May 2010 Confidential 性能优化 安装必需的更新包、修订包和建议的临时修订 • 建议的更新列表可在支持站点上获得。 25 May 2010 Confidential 性能优化 检查硬件配置和设置 • 有时瞬时错误会导致以太网适配器降低速度。请验 证系统是否具有足够的内存以及双列直插式内存模 块(DIMM)的数目和位置是否是最佳的。在某些 系统中,允许某些内存 DIMM 配置的性能高于其他 DIMM 配置。验证所使用的硬件是否是假定要使用 的硬件。 25 May 2010 Confidential 性能优化 查看应用程序设计 • 许多性能问题可以追溯到应用程序设计。查看该设 计来确定它是否导致了性能问题。 25 May 2010 Confidential 性能优化 调整操作系统 • 操作系统配置在性能中取着很重要的作用。在许多情况 下,可能需要为应用程序调整某些 TCP/IP 参数。 • 以Linux系统为例 – timeout_timewait 参数:确定 TCP/IP 在释放已关闭 的连接并再次使用其资源前必须经过的时间 – 文件描述符(ulimit):指定支持打开的文件数 – TCP_KEEPALIVE_INTERVAL:确定两次 isAlive 时 间间隔探测之间的等待时间 – TCP_KEEPALIVE_PROBES:确定超时前的探测次 数 – 为 Java 虚拟机(JVM)堆分配大页 25 May 2010 Confidential 性能优化 设置Java 虚拟机(JVM)堆大小以及GC策略 • 许多应用程序需要较大的堆大小以达到最佳性能。 • Java 堆参数会影响垃圾回收的行为。增加堆大小 会支持更多对象创建。由于大的堆要用较长时间进 行填充,所以在垃圾回收发生前应用程序会运行较 长时间。然而,较大的堆也会用较长时间进行压 缩,导致垃圾回收的时间也较长。 • 调整GC策略,JVM 供应商都提供了独特的垃圾回 收器策略和调整参数 25 May 2010 Confidential 性能优化 JDBC 驱动 • 一般情况下,建议使用 2 类 JDBC 驱动程序。然 而,在某些特定情况时,4 类 JDBC 驱动程序的速 度更快。可以到IBM网站查看特定于数据库供应商 的需求列表,以确定选定的 4 类 JDBC 驱动程序是 否受数据库支持。 25 May 2010 Confidential 性能优化 调整 JDBC 数据源和相关联的连接池 • JDBC 数据源配置对性能有显著的影响。例如,需要根 据正在处理的并发请求数和应用程序的设计来确定连接 池和预编译语句高速缓存的大小。 • 最大连接数是指定可以在此池中创建的最大物理连接数 为获得最佳性能,将连接池的值设置为小于 Web 容器线 程池大小的值。相对较高的设置(如 100)而言,较低 的设置(如 10 至 30 个连接)可能会提供更好的性能。 • 最小连接数是指定要保持的最小物理连接数。如果应用 程序需要的连接数超过您为此属性设置的值,那么当连 接请求等待实现时,应用程序性能会降低 25 May 2010 Confidential 性能优化 确保将事务日志分配到快速磁盘 • 某些应用程序会产生较高的至 WebSphere Application Server 事务日志的写入率。将事务日 志放置在快速磁盘或磁盘阵列上可以减少响应时 间。 • 在 RAID 配置中,将数据写入物理介质的任务是在 多个驱动器之间共同执行的。此技术允许对保存事 务信息的存储器进行并发度更高的访问,并且能够 提高日志数据访问速度。根据应用程序和存储子系 统的设计情况,性能提升范围为 10% 到 100%, 在某些情况下甚至更高。 25 May 2010 Confidential 性能优化 调整相关组件 • 在大多数情况下,需要调整系统中某些其它组件 (如Web服务器和数据库)才能使整个系统达到较 高的吞吐量。 25 May 2010 Confidential 最佳实践 调整应用队列 • WebSphere Application Server 包含必须相应调整以支持您的 端到端电子商务应用程序的定制需要的相关组件。这些调整帮 助系统在维护整个系统稳定性时实现最大吞吐量。 • 此组相互连接的组件称为排队网络。这些队列或组件包括网 络、Web 服务器、Web 容器、EJB 容器、数据源,还可能包 括定制后端系统的连接管理器。每个资源表示等待使用该资源 的请求队列。 25 May 2010 Confidential 最佳实践 调整应用队列——集群环境 • 克隆应用程序服务器以创建集群在配置高可伸缩生产环境中可 以是有价值的资产,尤其当应用程序正在经历防止对称多处理 (SMP)服务器的 CPU 被完全利用的瓶颈时。 • 当调整集群配置中的 WebSphere Application Server 系统队列 时,请记住当将服务器添加到集群时,服务器下游会接收两倍 的负载。 25 May 2010 Confidential 最佳实践 队列配置最佳实践 • 最小化 WebSphere Application Server 队列中的请 求数(漏斗原则) • 画吞吐量曲线以确定何时最大化系统性能 • 当从客户机往下游移动时减少队列大小 • 调整队列设置以符合访问模式 25 May 2010 Confidential 最佳实践 最小化 WAS 队列中的请求数(漏斗原则) • 通常,请求在网络中等待于 Web 服务器前面,而不是等 待在 WAS中。此配置仅支持那些准备处理以进入排队网 络的请求。将最远的上游队列或离客户机最近的队列指 定得稍大,而将较远的下游队列或离客户机最远的队列 指定为逐渐变小。 25 May 2010 Confidential 最佳实践 根据吞吐量曲线以确定何时最大化系统性能 • 根据吞吐量 曲线,设定 合理的相关 参数 25 May 2010 Confidential 最佳实践 当从客户机往下游移动时减少队列大小 • 在吞吐量饱和点上的并发用户数表示应用程序的最大并发性。 例如,如果应用程序使 WebSphere Application Server 饱和的 并发用户数为 50,那么使用 48 个并发用户可以产生吞吐量和 响应时间的最佳组合。此值称为“最大应用程序并发性”值。“最 大应用程序并发性”成为调整 WebSphere Application Server 系统队列的首选值。请记住,大多数用户等待在网络中是所期 望的;因此,当从客户机往下游更远处移动时,队列大小应该 减少。例如,假定“最大应用程序并发性”值为 48,用以下值启 动系统队列:Web 服务器 75、Web 容器 50、数据源 45。执 行一组其他实验,将这些值稍微调高或调低以找到最佳设置。 • 要帮助确定并发用户数,请查看 Tivoli Performance Viewer 中 的 servlet 引擎线程池和并发活动的线程度量值。 25 May 2010 Confidential 最佳实践 调整队列设置以符合访问模式 • 在许多情况下,仅小部分请求通过某个队列进入下一个下游队 列。在具有许多静态页面的站点中,很多请求在 Web 服务器 上完成,而且不会传递到 Web 容器。在此情况下,Web 服务 器队列可以比 Web 容器队列大很多。在前一个示例中,Web 服务器队列设置为 75,而不是更接近于“最大应用程序并发性” 值。当不同的组件具有不同的执行时间时,可以进行类似调 整。 • 例如,在将 90% 的时间用于复杂 servlet 而仅花 10% 的时间 用于进行简短 JDBC 查询的应用程序中,平均有 10% 的 servlet 将在任何时间使用数据库连接,因此数据库连接队列可 以比 Web 容器队列小很多。相反,如果大多数的 servlet 执行 时间被用于进行对数据库的复杂查询,那么请考虑增加 Web 容器和数据源的队列值。经常监视 WebSphere Application Server 和数据库服务器的 CPU 和内存利用率,以验证 CPU 或内存利用率是否没有饱和。 25 May 2010 Confidential Q&A Copyright © 2008 版 权所有 东软 集团
还剩72页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享pdf获得金币 ] 7 人已下载

下载pdf

pdf贡献者

jiangtao_st

贡献于2012-04-16

下载需要 10 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf