was监控调优思路及工具汇总

上传人:xinsh****encai 文档编号:118777025 上传时间:2019-12-25 格式:DOC 页数:11 大小:960KB
返回 下载 相关 举报
was监控调优思路及工具汇总_第1页
第1页 / 共11页
was监控调优思路及工具汇总_第2页
第2页 / 共11页
was监控调优思路及工具汇总_第3页
第3页 / 共11页
was监控调优思路及工具汇总_第4页
第4页 / 共11页
was监控调优思路及工具汇总_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《was监控调优思路及工具汇总》由会员分享,可在线阅读,更多相关《was监控调优思路及工具汇总(11页珍藏版)》请在金锄头文库上搜索。

1、WAS整理侯泰浩一、 WAS是什么IBM WAS的全称是IBM WebSphere Application Server,和Weblogic一样,是当前主流的 App Server (应用服务器)之一1.1 术语WAS: IBM Websphere Aplication Server, 中间件应用服务程序;IHS: IBM HTTP SERVERDM: Deployment Manager, WAS中的集群管理节点;ND: NodeAgent, WAS中的节点监听程序;JVM: Java Virtual Machine, Java虚拟机;GC: Gabage Collection, 自动垃圾回

2、收1.2 WAS ND集群基本概念及体系结构WAS集群由一组应用服务器组成,每个服务器上部署了同样的应用程序。通过集群可以实现可扩展性(服务更多客户,提高吞吐量),负载均衡(平衡负载资源,使资源得以有效利用),高可用性(提供故障恢复和补偿机制,在关键性业务中提供容错功能)。下图是ND分布式环境的体系结构,包括单元、节点、服务器等基本概念。WAS群集是为了实现集中管理和负载均衡同时可以实现故障转移,一个2节点的群集拓扑如下:其中,DeploymentManager通过每个节点上的NodeAgent完成对AppServer的配置修改、应用发布以及启动和停止,实现集中管理。如果安装多个IHS,并实现

3、负载均衡和分发,可以使用防火墙的负载分发功能。每个节点上的AppServer可以是多个的。二、 WAS基本参数配置描述参数缺省值设置原则JVM堆栈服务器应用程序服务器 server1 Java虚拟机无最小值为总内存1/8,最大值为总内存1/2至3/4,建议256M-1500M连接池资源 JDBC提供程序 (JDBC提供程序名) 数据源 (数据源名) 连接池属性最小连接数:10最大连接数:50通过TPV监控连接池的大小变化曲线设置语句高速缓存资源 JDBC提供程序 (JDBC提供程序名) 数据源 (数据源名) WebSphereApplicationServer数据源属性语句高速缓存大小10比如

4、实际情况下CPU利用率很高,并且表明有瓶颈,performance advisors报警提示prepare statement缓存丢弃率较高,这说明默认的值(10)太小,需要增加该值大小以提高吞吐量。JMS池资源JMS提供程序缺省消息传递JMS激活规范激活规范名最大批次大小:无最大并发端点数:无根据实际情况分析Web容器线程池服务器应用程序服务器 (服务器名) 线程池 WebContainer最小大小:10最大大小:50通过TPV监控Web容器线程池最大值(在可接受的相应时间范围内),根据此值进行设置。EJB缓存服务器应用程序服务器 (服务器名) EJB告诉缓存设置 EJB缓存设置高速缓存大小

5、高速缓存大小:2053清除时间间隔:3000比如通过TPV监控发现ejbStore()有很高的调用率并且CPU利用率很低,可以基于期望的最大的活动的EJB实例设置该值servlet高速缓存服务器-server1-web容器设置-web容器-启用servlet高速缓存 关闭建议启用servlet高速缓存三、 WAS的调优思路1233.1 基本思路部署在WAS上的应用程序,其性能是由多个因素决定的。例如网络、数据库、内存分配、WAS服务器的配置以及应用程序的设计。对于一个标准的 J2EE应用,一个请求到来时,往往需要经过多次转发:网络 Web服务器Web容器 EJB容器 数据库。而每一次转发,都可

6、能造成请求处理的瓶颈,使得应用程序整体性能下降。 如果我们把每一次转发的待处理资源都看成一个队列,如下图:待处理资源队列对于WAS调优,要记住的一个基本原则就是,使得在队列中等待的请求的数量最小化。在实践中我们发现,为了达到这个目的,最有效的配置方式 就是使得队列成为一个“漏斗”。也就是说,越靠近客户端的队列,其容量越大,而后面的队列,其容量要略小于或等于前面的队列。3.2 WAS主要的调优参数3.2.1 WAS服务器参数Web Server的最大并发用户:这个设置是在conf/httpd.conf这个文件里面配置的。在Unix系统中,对应的属性是MaxClient;在Windows系统中,对

7、应的属性是ThreadsPerChild。 Web Container的最大、最小并发用户:在管理控制台中点击应用程序服务器 server1 线程池 WebContainer,根据观察的性能情况和应用情况输入合适的最小、最大进程数。对象请求代理(ORB)的线程池大小:在管理控制台中点击应用程序服务器 server1 ORB 服务 线程池,根据观察的性能情况和应用情况输入合适的最小、最大进程数。设置数据库的连接池属性:JDBC 提供者 数据库JDBC驱动名称 数据源 数据源名称 连接池 ,根据观察的性能情况和应用情况输入合适的最小、最大连接数。JVM堆参数设置的性能调优:应用程序服务器 serv

8、er1 进程定义 Java 虚拟机,根据硬件物理内存和应用情况输入合适的初始堆大小、最大堆大小。ORB参数调用方式的性能调优:应用程序服务器 server1 ORB 服务选中按引用传递。关闭动态加载开关:企业应用程序 应用名称 关闭启动类重新装入开关。关闭会话序列化,应用程序服务器 server1 会话管理 分布式环境设置 分布式会话选择无即可。3.2.2 JVM的参数WAS 在HP和 Solaris 上使用的是 Sun提供的JVM,在其他平台使用的是IBM自己的JVM,建议使用WAS自带的JVM,因为在产品支持等方面会获得更多地优势Heapsize(-Xms 和-Xmx):heapsize的

9、大小依赖于系统平台和具体的应用等多种因素。最大 heapsize需要小于机器的物理内存,一般来说,设置最大 heapsize 为 512m 是一个常见的起点。同时,在生产环境中,最好将 Xms 设置为小于 Xmx的值。GC(Garbage Collection,自动垃圾回收):一般来说,良好的 GC状态需要保证相邻两次垃圾回收的平均间隔时间应当是单次垃圾回收所需时间的至少 5-6倍。GC的调优是通过在模拟压力的情况下不断调整最大最小 heapsize 来实现的。Heap Fragmentation (heap碎片):heap 碎片的问题在 JVM 中存在大对象的情况下尤为突出。减少碎片的方法包

10、括调整 pCluster(-Xp)和 kCluster(-Xk)参数。3.2.3 Web Container (Web容器)对 Web Container 的调优是通过对 Web Container 传输链中各个通道(TCP、HTTP、WebContainer)的参数调整进行的。这些参数包括诸如 ThreadPool 的最大最小值,buffer大小, timeout 时间的大小, keep-alive 的值等等。Web容器线程池要点就是:“通常,对于每个服务器 CPU,5 至 10 个线程将会提供最佳吞吐量”(现在的一个cpu可以用核来代替)。比如你的Pc Server有2块CPU,每块CPU

11、都是4核,那么你一个Application Server可以设置的最小值和最大值可以分别为40、80。但是一般考虑到能充分利用CPU和Memory,或者为不同的应用启用不同的 application server,一台Pc Server上并不仅有这么一个appserver,而且还有别的进程在占用着CPU,所以默认的10到50(Linux 系统上 25 个)是一个比较合适的值,当然更准确的值需要通过性能测试来确定。在 进行性能测试的时候,如果吞吐率不是很满意,或者在TPV中看到线程池占用一直是最大值,不要立刻就调大线程池的设置往往吞吐率会更一步下降。这时候 要注意CPU占用率的情况、vmstat

12、的r列值,特别是System状态占用率的情况,如果接近10%,甚至超过10%,那么可以肯定系统在进程切换上 面消耗的资源太多了。下调线程池的大小反而会提升吞吐率,而且会由于吞吐率的提升降低页面平均响应时间。3.2.4 Data Source对 Data Source的优化包括两个方面。一是 JDBC Driver 的选取,尽可能应使用 Type 4 的JDBC driver,这种 driver 是纯 java 的,适用于 client/server 模式,并提供比 type2 和legacy/CLI 的 driver 更好的性能。另一方面是 Database 连接池的参数设置,主要包括最大和最

13、小连接以及 timeout的设置。具体的设置于应用程序的特性和并发用户量相关,一般来说,可设置最小连接为 1 且最大连接为 30,作为一个继续调优的起点。Application Server 将在使用该数据源的每个应用程序服务器中创建连接池的单独实例。例如:如果运行包含三个服务器的集群,这三个服务器都使用myDataSource,并且myDataSource的“最大连接数”设置为 10,那么可生成多达 30 个连接(3 个服务器乘以 10 个连接)。3.2.5 其他 除了 JVM,Web Container 和 Data Source之外,WAS 的性能调优还包括很多其他方面的内容,如 JMS、EJB、Session、Dynamic Cache等等。四、 监控工具4.1 WAS自带的TPVWAS中免费提供的 Tivoli Performance Viewer(TPV)允许客户对关键资源(如 JVM、Web 容器和 EJB 容器以及远程连接池)进行监视。显示从本地或远程应用服务器收集的PMI (Performance Monitoring Infrastructure )数据 摘要报告:表格方式查看性能模块:图形方式查看性能模块:但是TPV有一些明显缺点:4.2 Java性能监测工具Jprofiler/Jprobe:JProf

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号