WebLogic中间件技术汇总
- 格式:ppt
- 大小:1.33 MB
- 文档页数:81
跟我学中间件相关技术及应用——WebLogic应用服务器性能监控1.1.1WebLogic应用服务器的性能1、BEA WebLogic平台下的J2EE调优尤为重要随着近来J2EE软件广泛地应用于各行各业,系统调优也越来越引起软件开发者和应用服务器提供商的重视。
而对于最终客户来说,在一个高效、稳定地实现他们的业务需求已经是他们的基本要求。
任何在市场上成功的产品都拥有良好的性能。
虽然成为象WebLogic Server这样广泛使用的产品需要具备很多特性,但性能绝对是必不可少的。
良好的编程习惯在帮助应用运行方面起了很大的作用,但是仅有它们还是不够的。
应用服务器必须能够在多种硬件和操作系统之间移植,必须具备通用性以便处理范围更广的应用类型。
所以J2EE调优显得非常重要,而BEA WebLogic Server是业界领先的应用服务器,BEA WebLogic平台下的J2EE调优也就尤为重要,她将为我们提供普遍的J2EE 调优方案。
2、性能监控及瓶颈发现性能调试的第一步是孤立“危险区域”。
性能瓶颈可以存在于整个系统的任一部分――网络、数据库、客户端或应用服务器------重要的是首先确定哪个系统组件引起了性能问题。
3、WebLogic服务器下的性能监控及调优的工具WebLogic Server为系统管理员提供了管理控制台和命令行工具两种方式监控系统性能。
服务器端有叫作mbean的集合,用于搜集诸如线程消耗情况、资源剩余情况、缓存使用情况等信息。
控制台和命令行管理器都可以从服务器将这些信息调用出来。
第五章性能监控和性能分析(目录)1.1.2WebLogic应用服务器性能监控对于实现一个高性能的J2EE应用来说,掌握了J2EE调优的理论经验还是不够的。
掌握性能监控,发现瓶颈和问题诊断才是保证J2EE系统持续高效运行的关键。
瓶颈会发生在Web服务器上,程序代码中,应用服务器上,数据库,操作系统或者网络,硬件上。
经验表明,瓶颈很容易发生在如下地方:数据库连接与队列中;应用服务器的程序代码中;应用服务器和Web服务器硬件上;网络和TCP配置中。
1Weblogic9.2 在linux下启动很慢打开setDomainEnv.sh 增加-Djava.security.egd=file:/dev/zero修改参数为JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"2Windows x64 jrockit 启动3000M 报OutOfMemoryng.OutOfMemoryError: class allocation, 153359080 loaded, 154140672 footprint JVM@check_alloc(src/jvm/model/classload/classalloc.c:118). 19416 bytes通过修改启动内存,设置4G以上3后台日志出现以下报错User <anonymous> does not have permission on weblogic.management.home to perform lookupoperation1、网上找到的解决方案是:打开weblogic控制台,点击你部署工程的那个domain,在右边主页的下面有一个“View Domain-wide Security Settings”连接,点开它,看看复选框“Anonymous Admin Lookup Enabled”前面是没选的,把它勾上。
2、使用了1中的解决方案还是报这个错误,经过高手提醒后发现原因:如果一个weblogic.xml中包含以下的内容:<container-descriptor><prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor>这个配置的意思是使weblogic优先加载应用WEB-INF/lib下面的jar包。
Weblogic中间件运维经验汇总目录关于Weblogic参数调优的运维经验 (2)Weblogic性能调优的处理方法 (5)关于输电项目Weblogic安装的运维经验 (8)Weblogic回收数据库连接数配置的方法 (14)在Apache和Weblogic中分别部署静态页面的方法 (17)Weblogic Server性能调优经验 (20)WeblogicJVM堆参数设置方法 (24)关于Weblogic参数调优的运维经验报送单位:北京公司审核人:类型:业务应用关键字:GC垃圾回收1、引言为了提高维护人员运维水平,以集中与分享日常运行维护经验为目的,现进行典型经验的编制。
2、现象描述部分应用服务器出现宕机现象,在F5上查看时已经掉出集群状态。
3、处理过程停止宕机应用服务器上的Weblogic进程。
/home/weblogic/bea/user_projects/domains/pms/bin/setDomainEn v.sh文件中的启动内存大小并添加垃圾回收机制,修改后如下:MEM_ARGS="-Xms5248m -Xmx5248m -Xmn1536m-XX:SurvivorRatio=6-XX:+UseParNewGC-XX:+UseConcMarkSweepGC-XX:CMSFullGCsBeforeCompaction=20-XX:+UseFastAccessorMethods-XX:+AggressiveOpts"3、修改完成后重启Weblogic服务。
4、原因分析在收到报警信息后,对后台日志进行查看,报错信息如下:Exception in thread "CBM_正常处理任务线程" ng.OutOfMemoryError: Java heap spaceatoracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.ja va:868)atoracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatem ent.java:1045)atoracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPre paredStatement.java:839)atoracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatem ent.java:1132)atoracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepa redStatement.java:3316)atoracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3361)经过对报错日志分析,状态检修的CBM处理进程内存溢出报错,导致服务器宕机。
1Weblogic9.2 在linux下启动很慢打开setDomainEnv.sh 增加-Djava.security.egd=file:/dev/zero修改参数为JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.security.egd=file:/dev/zero"2Windows x64 jrockit 启动3000M 报OutOfMemoryng.OutOfMemoryError: class allocation, 153359080 loaded, 154140672 footprint JVM@check_alloc(src/jvm/model/classload/classalloc.c:118). 19416 bytes通过修改启动内存,设置4G以上3后台日志出现以下报错User <anonymous> does not have permission on weblogic.management.home to perform lookupoperation1、网上找到的解决方案是:打开weblogic控制台,点击你部署工程的那个domain,在右边主页的下面有一个“View Domain-wide Security Settings”连接,点开它,看看复选框“Anonymous Admin Lookup Enabled”前面是没选的,把它勾上。
2、使用了1中的解决方案还是报这个错误,经过高手提醒后发现原因:如果一个weblogic.xml中包含以下的内容:<container-descriptor><prefer-web-inf-classes>true</prefer-web-inf-classes></container-descriptor>这个配置的意思是使weblogic优先加载应用WEB-INF/lib下面的jar包。
跟我学中间件相关技术及应用——WebLogic应用服务器下的集群服务的管理技术1、克隆群集克隆群集是根据现有群集的配置来配置一个新的群集。
编辑对于域中每个群集而言必须唯一的特性,如“群集名”和“群集地址”等。
(1)在左侧窗格中,单击“群集”,并且在希望克隆的群集的行中单击“克隆”图标。
(2)输入下列值1)名称- 确保名称相对于域中的其他可配置资源而言是唯一的。
2)群集地址3)默认加载算法4)已启用WebLogic 插件5)服务期限阈值6)已启用客户端证书代理(3)单击“克隆”按钮创建新的群集。
1)多播地址(使用224.0.0.1 和239.255.255.255 之间的值)2)多播端口号3)多播发送延迟4)多播TTL5)多播缓冲区大小(5)单击“应用”。
(6)在右侧窗格中,单击“服务器”选项卡。
(7)在“可用”列中,选择要分配给群集的一台或多台服务器,并且单击右箭头按钮(8)最后再单击“应用”。
2、删除群集在删除某个群集之前,首先要将该名称的群集中的各个服务器实例关闭或者从该名称的群集中取消掉,才能删除该名称的群集------否则将不允许删除该名称的群集。
(1)在左侧窗格中,单击“群集”。
(2)在希望删除的群集的行中单击“删除”图标,并且出现确认提示时,单击“是”。
(3)单击“继续”将出现下面的状态3、将服务器分配给群集(1)在左侧窗格中,展开“群集”。
(2)单击希望将服务器添加到的群集的名称,并且在右侧窗格中,单击“服务器”选项卡。
(3)在“可用”列中,选择要分配给群集的一台或多台服务器,并且单击右箭头按钮。
(4)单击“应用”4、监视群集可以通过“群集”-->“监视”页显示群集的当前状态,以及群集中每台受管服务器上的活动的统计信息。
(1)在左侧窗格中,展开“群集”。
(2)单击希望监视的群集的名称,并且在右侧窗格中,单击“监视”选项卡。
“监视”页显示了为群集配置的服务器数、群集中当前具有的服务器数,并以表格形式显示了每台受管服务器的最近活动的主要统计信息。
跟我学中间件相关技术及应用——WebLogic应用服务器性能调优1.1.1对在WebLogic应用服务器中运行的代码进行调优1、在WebLogic应用服务器中的Web应用系统中的代码调优(1)HttpSession的使用应用服务器保存很多会话时,容易造成内存不足,所以尽量减少session的使用,放置session里的对象不应该是大对象,最好是简单小对象,实现串行化接口。
当会话不再需要时,应当及时调用invalidate()方法清除会话。
而当某个变量不需要时,及时调用removeAttribute()方法清除变量。
请勿将EJB对象放置在session中。
(2)JSP代码调优目前,在JSP页面中引入外部资源的方法主要有两种:include指令,以及include动作。
●include指令例如<%@ include file="copyright.html" %>,该指令在编译时引入指定的资源。
在编译之前,带有include指令的页面和指定的资源被合并成一个文件。
被引用的外部资源在编译时就确定,比运行时才确定资源更高效。
●include动作例如<jsp:include page="copyright.jsp" />。
该动作引入指定页面执行后生成的结果。
由于它在运行时完成,因此对输出结果的控制更加灵活。
但是,只有当被引用的内容频繁地改变时,或者在对主页面的请求没有出现之前,被引用的页面无法确定时,使用include动作才合算。
对于那些无需跟踪会话状态的jsp,关闭自动创建的会话可以节省一些资源。
使用如下page指令:<%@ page session="false"%> ;尽量不要将JSP页面定义为单线程,应设置为<%@page isThreadSafe=”true”%>;在JSP 页面最好使用输出缓存功能,如: <%@page buffer="32kb"%>;尽量用wl:cache定制标记来缓存静态或相对静态的内容,缓存jsp:include操作的结果能显著提高应用程序的运行性能。
WebLogic中间件作业指导书WebLogic中间件作业指导书目录第一章系统检查 (4)1.1 weblogic 日志检查 (4)1.2 通过控制台查看系统状态 (4)1.2.1查看节点状态 (4)1.2.2查看线程状态 (4)1.2.3查看连接池状态 (5)1.3 分析节点cpu使用率高原因 (5)1.3.1 AIX主机 (5)1.3.2 HP主机 (7)1.3.2 LINUX主机 (7)1.4 分析工具 (8)1.4.1 线程分析工具 (8)1.4.2 内存分析工具 (9)1.5 启动参数设置 (10)第二章weblogic故障处理 (10)2.1修改控制台密码 (10)2.2 针对日志报错信息处理 (11)第一章系统检查1.1 weblogic 日志检查控制台中设置了日志所在目录,默认目录是域目录/servers/节点名/logs。
受管节点有2种日志,一种access.log,记录web访问活动,一种节点名.log,记录节点运行时候的提示信息以及报错信息,可在节点日志中查找报错信息,确定节点状态,定位问题。
管理节点则多了域日志,记录域信息。
1.2 通过控制台查看系统状态1.2.1查看节点状态登陆控制台-环境-服务器,查看节点运行状态,正常运行,状态为“RUNNING”.1.2.2查看线程状态登陆控制台-环境-服务器,选择其中一节点,选择标签页“监控”-“线程”,可查看线程运行状态。
队列长度为0,空闲线程大于0,没有等待的申请任务需要处理。
如果空闲线程>0,但是业务访问慢,可根据后面cpu使用率高分析方法,获取thread dump来跟踪分析当前业务操作等,作为改善应用的参考。
1.2.3查看连接池状态登录控制台-环境-服务器,选择其中一个节点,选择标签页“监控”-“jdbc”,可查看到该节点上的连接池的运行情况。
连接池中的活动连接没有到连接池的上限为正常。
1.3 分析节点cpu使用率高原因1.3.1 AIX主机1)通过topas观察cpu一直比较高的进程。
跟我学中间件相关技术及应用——基于J2EE架构的应用服务器Weblogic 的管理和维护1.1.1Weblgic应用服务器概述1、Weblogic应用服务器介绍(1)WebLobic应用服务器是美国BEA公司(现已属于Oracle公司)开发的一个业界领先的应用服务器WebLogic应用服务器遵守J2EE规范并采用面向服务的系统架构,提供有丰富的工具集支持,便于实现业务逻辑、数据和表达的分离,提供开发和部署各种业务驱动应用所必需的底层核心功能。
其综合性功能支持集成化基础结构,既能连接各种遗留系统,也能连接最新的Web 服务。
下图为BEA公司被Oracle公司收购后在Oracle公司的网站上发布的信息截图。
BEA公司被Oracle公司收购的信息截图(2)WebLogic应用服务器提供所有基本核心应用服务器的功能和服务这主要包括负载均衡、故障容错、Web 服务、网络透明、遗留集成、事务管理、安全性、消息、多线程,持久性、数据库连接、资源合并、开发、测试和封装功能等。
这种内置功能不但可以加速应用系统的开发实现,而且还可以减轻开发人员的负担,降低他们自主开发关键性服务的费用。
(3)WebLogic应用服务器的RMI实现支持三种通信格式:T3、T3/THHP和IIOP。
1)T3是一种经过WebLogic优化过的协议,用于在网络线路上传输远程方法调用,在访问EJB时将采用该T3协议。
2)T3/HTTP协议使RMI调用能够穿越只允许HTTP流通的防火墙(WebLogic中RMI调用使用的协议。
3)IIOP是一种CORBA通信协议,WebLogic 应用服务器支持的RMI/IIOP协议,允许Java程序与传统的CORBA系统进行通信。
上述三种协议都可以采用SSL加密方式,保证客户机与服务器之间的通信安全。
2、Weblogic应用服务器中的域(1)多层结构的WebLogic 应用服务器配置` WebLogic应用服务器层通常是一个由互相协调工作的多个WebLogic Server组成的群集。
weblogic详解WebLogic中间件websphere jbossWebLogic介绍、安装1.1.1. 什么是中间件中间件(middleware)是基础软件的⼀⼤类, 属于可复⽤软件的范畴. 顾名思义,中间件处于操作系统软件与⽤户的应⽤软件的中间.中间件在操作系统、⽹络和数据库之上,应⽤软件的下层,总的作⽤是为处于⾃⼰上层的应⽤软件提供运⾏与开发的环境,帮助⽤户灵活、⾼效地开发和集成复杂的应⽤软件.在众多关于中间件的定义中,⽐较普遍被接受的是IDC表述的:中间件是⼀种独⽴的系统软件或服务程序,分布式应⽤软件借助这种软件在不同的技术之间共享资源, 中间件位于客户机服务器的操作系统之上,管理计算资源和⽹络通信1.1.2. BEA公司介绍著名的Java 中间件软件公司,美国NASDAQ上市公司,其中间件市场份额⼀度IBM还要⾼。
2008年初被Oracle收购, 客户选择BEA来帮助其将已有的企业软件应⽤,从笨拙的、冗余的、遗留的客户机/服务器架构体系,发展成为响应灵敏的、成熟的Web基础结构1.1.3. 什么是WebLogicWebLogic是美国Oracle公司出品的⼀个application server确切的说是⼀个基于JAVAEE架构的中间件,BEA WebLogic是⽤于开发、集成、部署和管理⼤型分布式Web应⽤、⽹络应⽤和数据库应⽤的Java应⽤服务器。
1.1.4. WebLogic与Tomcat⽐较Weblogic特点Tomcat特点WLS全⾯⽀持J2EE的标准规范和其他标准规范,Web Service, SSL, xml,EJB等Tomcat 为WEB容器,只⽀持部分J2EE标准, 应⽤局限性强,不⽀持EJB完善的售后⽀持没有售后⽀持, 看社区与论坛集群机制, ⽀持分布式的应⽤需要结合第三⽅插件/应⽤Web控制台进⾏组件、JDBC、管理和配置差较好的⽀持热部署(开发模式下)差需要费⽤开源免费1.1.5. 什么是负载均衡/故障转移在集群系统中. 来⾃客户的请求可以进⾏平均分配. 把相应的进程分发给与之共同承担任务的服务器,从⽽不影响应⽤进程的运⾏, ⼤多数中间件都⽀持负载均衡,实现负载均衡⼤⼤降低了系统的崩溃现象,从⽽减少对企业带来的损失.故障转移:软硬件出现故障,能够有其它相关的软硬件设备来承接相关的⼯作任务,以保障系统正常⼯作。