Weblogic性能调优 V1.0

合集下载

(完整版)系统性能调优方案

(完整版)系统性能调优方案

第1章系统性能调优方案1.1系统的性能扩展模型介绍在进行性能指标设计工作前,必须从理论上对性能指标的可实现性进行分析。

理论上,系统的扩展模型可以分成两类,系统可扩展模型和不可扩展模型,如下图所示:两种性能扩展模型以上左图代表了系统随着并发用户量的增加系统响应时间呈现线性增长的趋势,是一种可扩展的情况;但对于系统右边的方式则是不可扩展的,它将随着用户数量的增大而响应时间大大急剧增加,这种模型是完全不可控制的。

通过系统压力实验,我们发现,即使是遵循可扩展模型设计的系统的响应性能和并发用户量并不能成永远的线性关系,在系统压力超过一定的值之后,如100并发,系统响应时间增加非常快,我们把这个点称为拐点.在拐点以下,系统性能呈现良好的线性特性,在拐点以上,则呈现出非线性的特征,同时CPU和内存出现相当大的增长,甚至100%占用。

这种现象的出现,说明系统的性能不仅仅取决于软件系统,而也同时取决于承载系统的硬件基础环境,如计算能力和内存大小.为此,系统性能设计的目的就是为系统设置合理的拐点并发值,而不可能无限制的追求无限大的并发下系统响应仍旧呈现线形特征。

1.2对响应时间的技术保障手段金税三期工程第二阶段河南地税建设项目财务管理子系统对系统的性能要求是比较高的,为了满足这个要求,在系统实现上必须要采用一系列的技术措施才能达到,具体来说将采用下面方式进行:1、预处理技术的应用预处理技术是一种在预定计划上由系统激发主动执行的计算模式,它对于一些处理内容固定,处理方式固定的功能非常有效,通过提前处理,实现数据生成时间和数据访问时间的隔离,在数据访问的时候不再需要为拿到结果而执行任何的计算,只需要简单的查询结果即可,这样可以大大增强系统的访问性能,有效的利用系统闲置时间.2、变动态内容查找为静态数据访问一些情况下,经过各种调优手段仍不能满足要求,就需要将一些动态的内容进行静态化处理,如可以将复杂的动态报表转化成HTML网页并发布在WEB服务器上,这种方式可以大大减轻应用服务器的访问压力,进一步减少用户等待的时间.例如,对一段历史时期的数据的汇总报表结果的查询,复杂报表结果等查询。

weblogic java_option 参数

weblogic java_option 参数

weblogic java_option 参数WebLogic Server提供了一系列的Java选项参数,以控制Java 虚拟机的行为。

以下是一些常用的Java选项参数:1. -Xms: 初始Java堆大小2. -Xmx: 最大Java堆大小3. -XX:PermSize: 初始永久代大小4. -XX:MaxPermSize: 最大永久代大小5. -XX:NewSize: 初始新生代大小6. -XX:MaxNewSize: 最大新生代大小7. -XX:SurvivorRatio: 新生代中Eden区和Survivor区的比例8. -XX:NewRatio: 新生代和老年代的大小比例9. -XX:ParallelGCThreads: 并行垃圾回收线程数10. -XX:+UseParallelGC: 使用并行垃圾回收11. -XX:MaxGCPauseMillis: 最大垃圾回收暂停时间12. -XX:+HeapDumpOnOutOfMemoryError: 在发生OutOfMemoryError时输出堆转储文件13. -Dweblogic.security.SSL.ignoreHostnameVerification=true: 忽略SSL主机名验证14. -Dweblogic.security.SSL.protocolVersion=TLSv1.2: 使用TLSv1.2协议进行SSL/TLS通信15. -Dweblogic.MaxMessageSize: 设置WebLogic通信最大消息大小请注意,这只是一些常用的Java选项参数,您可以根据应用程序的需要进行调整。

对于一些高级调优参数,建议咨询WebLogic Server的官方文档。

weblogic线程池设置

weblogic线程池设置

图形化操作是在工作管理器中新建两个约束min和max如何修改WebLogic 9.x / 10.x 默认线程池大小2010/10/10 12:39 AM | 教主| 技术文章| 2 条评论了已经作者:老王来源:WebLogic中文爱好者官方文档指出,WebLogic 9 / WebLogic 10 的线程池是自调优的,并且在WebLogic 9的时候,通过修改config.xml可以修改默认线程池的最小值、最大值,但是很麻烦。

到了WebLogic 10gR3,连修改config.xml的办法都给取消了。

但是,可以通过在启动脚本增加如下参数,可以指定默认线程池的最小值、最大值:-Dweblogic.threadpool.MinPoolSize=100-Dweblogic.threadpool.MaxPoolSize=500如何修改weblogic默认线程池大小2010年12月27日wei发表评论阅读评论weblogic 9开始使用了线程自调优技术。

通过以下方法设置,可以指定默认线程的最大最小值。

方法一:修改启动脚本参数在启动脚本中,增加如下参数%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%=%SERVER_NAME%-Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy-Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=500%PROXY_SETTINGS% %SERVER_CLASS%方法二:修改config.xml在config.xml中,增加如下参数<server><name>AdminServer</name><self-tuning-thread-pool-size-min>100</self-tuning-thread-pool-size-min> <self-tuning-thread-pool-size-max>500</self-tuning-thread-pool-size-max> <listen-port>7923</listen-port><listen-address></listen-address></server>经过测试,以上两种方法适合weblogic9,10,11g。

Weblogic中间件运维经验汇总

Weblogic中间件运维经验汇总

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处理进程内存溢出报错,导致服务器宕机。

Weblogic应用层优化调试设置

Weblogic应用层优化调试设置

社区Weblogic应用层优化调试设置
以Weblogic为中间件的社区应用层,有以下性能优化设置供参考。

1、设置为生产模式,增大连接数据
进入weblogic console 点击左边对应的域名,勾选右边的生产模式。

2、Weblogic登录超时时间
进入weblogic console界面,点击左边对应的域名,再点击监视,再点击服务器/子系统名称AdminServer ,再点击调整,可以看到如下图。

3、设置weblogic 占用的内存值
进入weblogic安装域名目录所在的bin文件夹,修改setDomainEnv.sh 文件根据物理机的实际情况设置内存值
4、设置应用服务数据库连接数据
打开应用程序xp-app 的jdbc数据连接文件
根据oracle实际连接数修改jdbc连接数
Oracle连接数据查看show parameter processes;
5、不限制事务数量
修改服务的事务处理数量限制,修改xp-app应用服务的jta.properties
超出默认的50会报错误
Caused by: ng.IllegalStateException: Max number of active transactions reached:50
6、优化程序代码
在weblogic安装域目录下的log日志可以看到严重超时方法。

weblogic优化指南

weblogic优化指南

优化WebLogic一、为WebLogic启动设置Java参数垃圾收集(GC)是指JVM释放Java堆中不再使用的对象所占用的内存的过程,而Java堆(Heap)是指Java应用程序对象生存的空间。

堆大小决定了GC的频度和时间。

堆越大,GC频度低,速度慢。

堆越小,GC频度高,速度快。

所以GC和堆大小是一组矛盾。

为了获取理想的Heap堆大小,需要使用-verbosegc参数(Sun jdk: -Xloggc:<file>)以打开详细的GC输出。

分析GC的频度和时间,结合应用最大负载所需内存情况,得出堆的大小。

通常情况下,我们建议使用可用内存(除操作系统和其他应用程序占用之外的内存)70-80%,为避免堆大小调整引起的开销,设置内存堆的最小值等于最大值即:-Xms=-Xmx。

而为了防止内存溢出,建议在生产环境堆大小至少为256M(Platform至少512M),实际环境中512M~1G左右性能最佳,2G以上是不可取的,在调整内存时可能需要调整核心参数进程的允许最大内存数。

对于sun 和hp的jvm,永久域太小(默认4M)也可能造成内存溢出,应增加参-XX:MaxPermSize=128m。

建议设置临时域-Xmn的大小为-Xmx的1/4~1/3, SurvivorRatio为8堆栈内存优化,修改配置文件:WL_HOME=C:\bea\weblogic81 "%WL_HOME%\common\bin\commEnv.cmd":bea#如果采用的上bea的JDK# JVM Heap(堆内存)最小尺寸为96M,最大尺寸为256Mset MEM_ARGS=-Xms96m -Xmx256m:sun#如果采用的是sun的JDK# JVM Heap(堆内存)最小尺寸为32M,最大尺寸为200M#公共变量对象的内存限制: PermSize:最小尺寸, MaxPermSize :最大允许分配尺寸set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m监视堆栈使用情况:下载JRockit JDK,该JDK已经自带了JRockit Mission Control工具,目前好像还没有单独下载JRockit Mission Control的地方,于JRockit JDK进行了绑定下载;在C:\bea\jrockit81sp5_142_08\console目录里面运行:C:\bea\jrockit81sp5_142_08\bin\java –Xmanagement -jar ManagementConsole.jar 如何监控weblogic呢?修改weblogic启动脚本startWebLogic.cmd,在里面加入-Xmanagement启动参数:%JAVA_HOME%\bin\java -Xmanagement %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% =%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server二、设置与性能有关的配置参数在一个WebLogic域中,配置文件(config.xml)位于与管理服务器通信的机器里,提供WebLogic MBean的长期存储。

weblogic调优参数及监控指标

weblogic调优参数及监控指标

weblogic调优参数对Weblogic的调优主要从SEVER、ExecuteQueue、JDBC等几个方面的相关参数进行调优:一、SERVER在mydomain->Servers->myserver->Configuration->Tuning->“Enable Native IO”中: 1、Native IOEnabledTRUE,表示该Server使用本地I/O2、SocketReaders设置在执行线程中专用做Socket Readers的百分比3、Maximum Open Sockets最大打开Socket数4、Stuck Thread MaxTime堵塞线程时间,超过这个时间没有返回的执行线程,系统将认为是堵塞线程如果weblogic认为某个队列中的所有的线程全部堵塞的话,weblogic将会增加执行线程的数量。

注意:执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。

5、Stuck Thread Timer Interval系统检查堵塞线程的时间间隔6、Low Memory GC Threshold当可用内存小于该百分比时,垃圾回收启动7、Low Memory Granularity Level当两次检测的可用内存变化超过该百分比时,垃圾回收启动8、Low Memory Sample Size在一次检测中的取样次数9、Low Memory Time Interval检测间隔时间10、Accept Backlog等待队列中最多可以有多少TCP连接等待处理,如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设得过低。

如果连接时收到connection refused消息,说明应提高该值,每次增加25%二、ExecuteQueue在mydomain->Servers->myserver ->Monitoring->Monitor all Active Queues... ->Configuration->weblogic.kernel.Default->1、ThreadCount服务器初始创建的执行线程的数量,设置原则:增大机器的最大并发线程数使处理器利用率达到最大。

WEBLOGIC性能参数

WEBLOGIC性能参数

WEBLOGIC性能参数MessagesLogged –该weblogic服务器实例产生的日志消息总数Number of total log messages generated by this instance of the weblogic server.Registered - 如果已取消注册由该对象表示的MBean,则返回falseReturns false if the MBean represented by this object has been unregistered.CachingDisabled - 禁用代理中的缓存的专用属性Private property that disables caching in proxies.ServerRuntimeSocketsOpenedTotalCount - 返回本服务器上登记的socket的总数Return the total number of registrations for socket muxing on this sever.Registered - 如果已取消注册由该对象表示的MBean,则返回falseReturns false if the MBean represented by this object has been unregistered.ActivationTime –返回服务器激活时间Return the time when the server was started.CachingDisabled -禁用代理中的缓存的专用属性Private property that disables caching in proxies.OpenSocketsCurrentCount –返回本服务器上当前登记的socket数Return the current number sockets registered for socket muxing on this server.AdminServerListenPort –返回管理服务器监听的端口Return the port on which admin server is listening for connections.RestartsTotalCount –返回自群集上次激活后本服务器重启的总次数Return the total number of restarts for this server since the cluster was last activated.ListenPort –返回当前服务器监听连接的端口Return the port on which this server is listening for connections.ServletRuntimeExecutionTimeAverage –返回所有servlet自被创建后被调用的平均数Returns the average amount of time all invocations of the servlet have executed since created.CachingDisabled - 禁用代理中的缓存的专用属性Private property that disables caching in proxies.Registered - 如果已取消注册由该对象表示的MBean,则返回falseReturns false if the MBean represented by this object has been unregistered.ExecutionTimeHigh –返回servlet自创建后耗时最长的一个交易调用的时间Returns the amount of time the single longest invocation of the servlet has executed since created.ReloadTotalCount –返回servlet被重载总次数Returns the total number of times the servlet has been reloaded.PoolMaxCapacity –返回单线程模式下servlet的最大能力Returns the maximum capacity of this servlet for single thread model servlets.InvocationTotalCount –返回servlet被调用的总次数Returns the total number of times the servlet has been invoked.ExecutionTimeLow –返回servlet自创建后单次最短调用消耗的时间Returns the amount of time the single shortest invocation of the servlet has executed since created. Note that for the CounterMonitor, the difference option must be used.ExecutionTimeTotal –返回servlet自被创建后所有被调用的总时间数Returns the amount of time all invocations of the servlet has executed since created. WebAppComponentRuntimeSessionsOpenedTotalCount –返回该服务器上打开的会话总数Returns the total number of sessions opened in this server.CachingDisabled - 禁用代理中的缓存的专用属性Private property that disables caching in proxies.Registered - 如果已取消注册由该对象表示的MBean,则返回falseReturns false if the MBean represented by this object has been unregistered.OpenSessionsHighCount –返回本服务器上打开会话总数的最大值Returns the high water mark of the total number of open sessions in this server. The count starts at zero each time the server is activated. Note that this is an optimization method for a highly useful statistic that could be implemented less efficiently using change notification.OpenSessionsCurrentCount –返回当前component打开的会话总数Returns the current total number of open sessions in this component. EJBStatefulHomeRuntimeStateless –如果mbean代表无状态会话bean,返回true,否则返回false。

WebLogic服务器负载均衡解决方案

WebLogic服务器负载均衡解决方案

WebLogic服务器负载均衡解决方案WebLogic是一个用于构建和部署企业级Java应用程序的Java EE服务器。

负载均衡是一个关键的解决方案,用于在WebLogic服务器集群中分配和管理应用程序请求的负载。

本文将探讨WebLogic服务器负载均衡的几种解决方案。

1. 硬件负载均衡器:硬件负载均衡器是一种专门设计用于分发网络流量的设备。

它可以将传入的请求分发到WebLogic服务器集群中的不同节点上,以平衡负载。

硬件负载均衡器可以基于不同的算法进行负载分发,如轮询、最少连接数和源IP散列。

这种解决方案的优势在于具有高性能和可扩展性,可以处理大量的并发请求。

2. Web服务器负载均衡:Web服务器负载均衡是一种基于软件的解决方案,通过在Web服务器前面放置一个负载均衡器来实现。

负载均衡器可以根据预先定义的规则将请求转发到不同的WebLogic服务器节点上。

常用的Web服务器负载均衡软件包括Apache HTTP Server和NGINX。

这种解决方案相对简单且成本较低,但可能存在性能瓶颈。

3. WebLogic集群:WebLogic服务器可以配置为运行在集群模式下,以实现负载均衡。

集群是一组相互联网的WebLogic服务器节点,它们共享相同的应用程序和数据存储。

WebLogic集群可以通过多种方式进行负载均衡,包括轮询、就近路由和会话粘性。

这种解决方案的优势在于无需额外的硬件或软件,直接使用WebLogic服务器自带的功能。

4. 云负载均衡:如果将WebLogic服务器部署在云环境中,可以使用云提供商的负载均衡服务。

云负载均衡器可以自动分配和管理负载,并提供高可用性和可扩展性。

云负载均衡器通常基于虚拟IP地址和域名进行配置,并支持不同的负载均衡算法。

5. 基于DNS的负载均衡:DNS解析器可以根据特定的策略将域名解析为不同的IP地址。

通过配置多个WebLogic服务器的IP地址,可以使用DNS负载均衡来平衡流量。

weblogic基本目录介绍,位数查看,启动与发布项目,修改JVM参数,设置项目为默认项目

weblogic基本目录介绍,位数查看,启动与发布项目,修改JVM参数,设置项目为默认项目

weblogic基本⽬录介绍,位数查看,启动与发布项⽬,修改JVM参数,设置项⽬为默认项⽬ 这⾥的基本⽬录%base%表⽰安装⽬录,如我的⽬录为:E:/weblogic就是%base%1.weblogic⽬录介绍 weblogic主要的⽬录介绍:1.⽇志⽬录: 每个domain(域)都有⾃⼰的⽇志⽬录,⼀般启动⽇志是AdmiServer.log,存放位置在:%base%\user_projects\domains\base_domain\servers\AdminServer\logs,如下:2.项⽬发布⽬录: 每个域也都有⾃⼰的项⽬发布⽬录。

存放位置在:%base%\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user,例如:3.JSP编译之后的⽬录:(我们需要知道weblogic编译JSP依赖⾃⼰的lib库,所以在编译之后的class⽂件头部引⼊⾃⼰的lib,⽽tomcat也依赖于⾃⼰的lib) 存放的是JSP编译之后的⽬录,位置在:%base%\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\Struts\km2umq\jsp_servlet⽂件夹下⾯。

⽽且JSP不会⼀次性全部编译,是我们第⼀次访问哪个JSP编译哪个JSP(JSP的延迟编译特性确实给性能带来了不⼤不⼩的影响,第⼀次访问超慢的那种状况给⼈的感觉⾮常不好),⽽且项⽬的根⽬录的JSP编译之后的package是默认的,然后每个⽬录对应⼀个package,例如:(1)根⽬录下的JSP: JSP内容 <%@ page pageEncoding="GBK" contentType="text/html; charset=GBK" %><%@taglib uri = "/jsp/jstl/core" prefix="c" %><c:set var="baseurl" value="${pageContext.request.contextPath}"></c:set><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>"${baseurl}"</body></html> 编译之后的位置:%base%\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_user\Struts\km2umq\jsp_servlet\ 查看反编译之后的内容:package jsp_servlet;import java.io.IOException;import java.io.UnsupportedEncodingException;import javax.servlet.ServletConfig;import javax.servlet.ServletContext;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import javax.servlet.jsp.JspFactory;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.SkipPageException;import javax.servlet.jsp.tagext.JspTag;import javax.servlet.jsp.tagext.SimpleTag;import javax.servlet.jsp.tagext.Tag;import org.apache.taglibs.standard.tag.rt.core.SetTag;import weblogic.jsp.internal.jsp.JspFunctionMapper;import weblogic.jsp.internal.jsp.utils.JspRuntimeUtils;import weblogic.servlet.jsp.ByteWriter;import weblogic.servlet.jsp.DependencyInjectionHelper;import weblogic.servlet.jsp.ELHelper;import weblogic.servlet.jsp.ExpressionInterceptor;import weblogic.servlet.jsp.ExpressionInterceptor.Type;import weblogic.servlet.jsp.JspBase;import weblogic.servlet.jsp.StaleChecker;import weblogic.servlet.jsp.StaleIndicator;public final class __forwardextends JspBaseimplements StaleIndicator{private static void _releaseTags(PageContext pageContext, JspTag t){while (t != null){DependencyInjectionHelper.preDestroy(pageContext, t);if ((t instanceof Tag)){Tag tmp = (Tag)t;t = ((Tag)t).getParent();try{tmp.release();}catch (Exception localException) {}}else{t = ((SimpleTag)t).getParent();}}}public boolean _isStale(){boolean _stale = _staticIsStale((StaleChecker)getServletConfig().getServletContext());return _stale;}public static boolean _staticIsStale(StaleChecker sci){if (sci.isResourceStale("/forward.jsp", 1537094471925L, "12.2.1.3.0", "UTC")) {return true;}return false;}private ExpressionInterceptor _jsp_expressionInterceptor = JspRuntimeUtils.getNonOperExpressionInterceptor();private static boolean _WL_ENCODED_BYTES_OK = true;private static final String _WL_ORIGINAL_ENCODING = "GBK".intern();private static byte[] _getBytes(String block){try{return block.getBytes(_WL_ORIGINAL_ENCODING);}catch (UnsupportedEncodingException u){_WL_ENCODED_BYTES_OK = false;}return null;}private static String _wl_block0 = "\r\n";private static final byte[] _wl_block0Bytes = _getBytes(_wl_block0);private static String _wl_block1 = "\r\n<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\r\n<title>Insert title here</title>\r\n</head>\r\n<body>\r private static final byte[] _wl_block1Bytes = _getBytes(_wl_block1);private static String _wl_block2 = "\"\r\n</body>\r\n</html>";private static final byte[] _wl_block2Bytes = _getBytes(_wl_block2);private static JspFunctionMapper _jspx_fnmap = JspFunctionMapper.getInstance();protected void _jspInit(){this._jsp_expressionInterceptor = JspRuntimeUtils.getExpressionInterceptor(getServletConfig());}public void _jspService(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{ServletConfig config = getServletConfig();ServletContext application = config.getServletContext();JspTag _activeTag = null;Object page = this;PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true, 8192, true);response.setHeader("Content-Type", "text/html; charset=GBK");JspWriter out = pageContext.getOut();ByteWriter _bw = (ByteWriter)out;_bw.setInitCharacterEncoding(_WL_ORIGINAL_ENCODING, _WL_ENCODED_BYTES_OK);JspWriter _originalOut = out;HttpSession session = request.getSession(true);try{response.setContentType("text/html; charset=GBK");_bw.write(_wl_block0Bytes, _wl_block0);_bw.write(_wl_block0Bytes, _wl_block0);if (_jsp__tag0(request, response, pageContext, _activeTag, null)) {return;}_bw.write(_wl_block1Bytes, _wl_block1);out.write(this._jsp_expressionInterceptor.intercept((String)ELHelper.evaluate("${baseurl}", String.class, pageContext, null), pageContext, ExpressionInterceptor.Type.EL)); _bw.write(_wl_block2Bytes, _wl_block2);}catch (Throwable __ee){if (!(__ee instanceof SkipPageException)){while ((out != null) && (out != _originalOut)) {out = pageContext.popBody();}_releaseTags(pageContext, _activeTag);pageContext.handlePageException(__ee);}}finally{JspFactory.getDefaultFactory().releasePageContext(pageContext);}}private boolean _jsp__tag0(ServletRequest request, ServletResponse response, PageContext pageContext, JspTag activeTag, JspTag parent)throws Throwable{JspTag _activeTag = activeTag;JspWriter out = pageContext.getOut();ByteWriter _bw = (ByteWriter)out;SetTag __tag0 = null;int __result__tag0 = 0;if (__tag0 == null){__tag0 = new SetTag();DependencyInjectionHelper.inject(pageContext, __tag0);}__tag0.setPageContext(pageContext);JspRuntimeUtils.setParentForClassicTag(__tag0, parent);__tag0.setVar((String)JspRuntimeUtils.convertType("baseurl", String.class, "var"));__tag0.setValue(ELHelper.evaluate("${pageContext.request.contextPath}", Object.class, pageContext, _jspx_fnmap));_activeTag = __tag0;try{__result__tag0 = __tag0.doStartTag();if ((__result__tag0 == 0) ||(__tag0.doEndTag() == 5)){_activeTag = null;_releaseTags(pageContext, __tag0);return true;}}finally{_activeTag = __tag0.getParent();DependencyInjectionHelper.preDestroy(pageContext, __tag0);__tag0.release();}return false;}}(2)⽬录下的JSP,⼀个⽬录相当于⼀个package:编译之后的位置:查看你编译之后的头部内容:4.存放lib的⽬录: 存放⼀些公共项⽬使⽤的lib,存放位置在%base%\user_projects\domains\base_domain\lib,如下:5.weblogic⾃带的lib,类似于tomcat的lib⽬录,是weblogic⾃⼰启动所需要的包,⼀般也是造成冲突包的位置: 存放位置在:%base%\wlserver\modules6.缓存⽬录: 有时候缓存造成发布问题,所以我每次除了清掉缓存⽬录,还要清掉logs⽬录和项⽬tmp⽬录,也就是我每次启动项⽬都清掉下⾯三个⽬录,每次启动都会重新⽣成下⾯三个⽬录:2.weblogic位数查看 在weblogic安装⽬录下wlserver\server\native\win⽬录下根据⽬录即可查看,例如我的64位的:3.weblogic启动 weblogic启动的程序是在%base%\user_projects\domains\base_domain\startWebLogic.cmd (其内部调⽤了%base%\\user_projects\domains\base_domain\bin⽬录下的startWebLogic.cmd),源码如下:@ECHO OFF@REM WARNING: This file is created by the Configuration Wizard.@REM Any changes to this script may be lost when adding extensions to this configuration.SETLOCALset DOMAIN_HOME=E:\weblogic\user_projects\domains\base_domaincall "%DOMAIN_HOME%\bin\startWebLogic.cmd" %*ENDLOCAL 双击之后启动即可,启动可以访问登陆页⾯。

Weblogic使用手册大全详解(中文)

Weblogic使用手册大全详解(中文)

1 WEBLOGIC服务器管理概述10域、管理服务器与受管服务器10启动管理控制台12运行时对象与配置对象12日志消息的集中访问14W EB L OGIC管理服务器与W EB L OGIC受管服务器15启动时的错误消息15启动W EB L OGIC管理服务器15WebLogic服务器启动时的口令使用16从Start菜单启动WebLogic管理服务器16启动与终止Windows服务形式的WebLogic服务器16从命令行启动WebLogic管理服务器17用脚本启动管理服务器20在受管服务器运行时重启管理服务器 20在同台机器上重启管理服务器21在其它机器上重启管理服务器21将W EB L OGIC受管服务器加入到域22启动W EB L OGIC受管服务器22通过脚本启动W EB L OGIC受管服务器 24从老版本W EB L OGIC服务器升级 25从管理控制台终止W EB L OGIC服务器 25从命令行停止服务器25暂停和恢复受管服务器26将W EB L OGIC服务器设置为W INDOWS服务26删除W INDOWS服务形式的W EB L OGIC服务器27更改安装成Windows服务的服务器口令27注册启动与终止类282 节点管理器 29节点管理器概述29配置与启动节点管理器30启动节点管理器31启动管理服务器323 配置WEBLOGIC服务器与集群35服务器与集群配置概述35管理服务器的角色35启动管理控制台37动态配置的工作原理38集群配置规划38- 1 -服务器配置任务列表39集群配置列表41新建一个域42概述43监控服务器44终止或暂停服务器45性能45集群数据46服务器安全46JMS 47JTA 47监控JDBC连接池 47管理控制台的M ONITORING页面一览表484 用日志消息管理WEBLOGIC服务器51日志子系统概述51本地服务器的日志文件53启动日志53客户端日志54日志文件的格式54消息属性54消息目录55消息的严重级别55消息调试56浏览日志文件56查看日志56创建域日志过滤器575 分发应用58分发格式58用管理控制台分发应用58步骤1:配置与分发应用59步骤2:分发应用组件 59分发顺序61自动分发62启用或禁用自动部署62动态分发64启用与禁用自动分发64自动分发展开目录格式的应用64卸载或重新分发被自动分发的应用656 配置WEBLOGIC服务器的WEB组件66- 2 -概述66HTTP参数66配置监听端口67W EB应用68Web应用与集群68指定缺省的Web应用68配置虚拟主机70虚拟主机与缺省Web应用70设置虚拟主机71W EB L OGIC服务器如何解析HTTP请求72设置HTTP访问日志73日志回旋(Log Rotation)73使用管理控制台设置HTTP访问日志 73普通日志格式74使用扩展日志格式75防止“POST拒绝服务”攻击80设置W EB L OGIC服务器的HTTP隧道 81配置HTTP隧道连接81建立客户端与WebLogic服务器之间的连接82用本地I/O提供静态文件服务(只适用于W INDOWS)827 代理对另一个HTTP服务器的请求 84概述84设置从服务器的代理84代理S ERVLET的分发描述符示例858 代理对WEBLOGIC集群的请求87概述87设置H TTP C LUSTER S ERVLET 87H TTP C LUSTER S ERVLET的分发描述符示例889 91配置W EB应用的安全性91设置对Web应用的授权91多Web应用、Cookies与身份验证92限制对Web应用资源的访问92在servlet中使用用户和角色94配置W EB应用的外部资源96在W EB应用中引用EJB S97配置会话管理98HTTP会话属性98- 3 -会话超时98配置会话Cookies 99使用长效cookies 99配置持久化会话100通用属性100使用基于内存的、单服务器的、非复制的持久存储 101使用基于文件的持久存储101使用基于数据库的持久存储 102使用URL重写103URL重写的编码指南104URL重写与无线访问协议(WAP) 104使用字符集与POST数据10410 配置APACHE-WEBLOGIC服务器插件106概述106平台支持107安装库107配置HTTPD.CONF文件109通过URL代理109通过MIME文件类型代理110A PACHE-W EB L OGIC S ERVER插件的参数110使用SSL协议112与SSL-A PACHE配置有关的问题 113H TTPD.CONF文件示例114配置文件示例115使用WebLogic集群的例子115不使用WebLogic集群的例子115配置虚拟主机的例子116分发A PACHE-W EB L OGIC S ERVER插件11611 配置MICROSOFT-IIS插件117概述117连接池以及保持活动状态117安装库118更新IIS设置使请求转给W EB L OGIC118创建IIS P ROXY.INI文件119文件扩展名方式的请求代理 122路径方式的请求代理123.ini文件示例123使用SSL 124将SERVLETS请求转交给W EB L OGIC服务器处理125- 4 -安装测试12612 配置NETSCAPE插件127概述127连接池和保持激活127插件的配置128步骤1:复制库128步骤2:设置obj.conf文件128步骤3:更改MIME.types文件132步骤4:分发与测试NSAPI插件 132参数132使用SSL协议135有关W EB L OGIC服务器集群失败转移的注意事项1360BJ.CONF文件示例(不使用W EB L OGIC集群的情况)136OBJ.CONF文件(使用W EB L OGIC集群的情况) 13813 安全管理141安全配置概述141改变系统口令143指定一个安全域143配置缓存域144配置LDAP安全域147配置Windows NT安全域151配置UNIX安全域 153配置RDBMS安全域154安装一个定制安全域155测试代用安全域与定制安全域156迁移安全域157定义用户157定义用户组159定义虚拟机的用户组159定义ACL 160配置SSL协议161获得私钥与数字证书162保存私钥与数字签名164定义可靠的证书管理机构165定义SSL协议的配置字段165配置双向验证167C ONFIGURING RMI OVER IIOP OVER SSL(TBD)168口令的保护168安装审计提供者170- 5 -安装连接过滤器170设置J AVA安全管理器171配置安全上下文传播17314 管理事务176事务管理概述176配置事务177事务的监控与日志记录178将服务器迁移到另一台机器中17815 管理JDBC连接180用管理控制台管理JDBC 180JDBC配置指南180JDBC配置概述181配置JDBC驱动程序182连接池187设置连接池187管理连接池188多池188创建多池188管理多池188数据源189创建数据源189数据源管理18916 管理JMS 191配置JMS 191配置连接工厂192配置模板193配置收信方主键193配置备份库194配置JMS服务器195配置收信方195配置会话池196配置连接使用者197监控JMS 197恢复失败的W EB L OGIC服务器198重启或替换WebLogic服务器198编程考虑19917 管理JNDI 200- 6 -将对象装载到JNDI树200查看JNDI树20018 管理WEBLOGIC J2EE连接器构架201W EB L OGIC J2EE连接器构架概述201安装资源适配器202配置与部署资源适配器202配置与部署资源适配器202查看已部署的资源适配器203卸载已部署的资源适配器203删除一个资源适配器204查看元素与属性205监控连接池与参数205编辑资源适配器分发描述符 20519 管理WEBLOGIC服务器许可证208安装W EB L OGIC许可证208更新许可证208A 使用WEBLOGIC JAVA工具210A PPLET A RCHIVER210语法211C ONVERSION211D ER2PEM211例子212DBPING212语法212D EPLOY212参数212Actions(从下表中选一个) 213其它参数213选项213例子213GET P ROPERTY 215语法215例子215LOG T O Z IP216语法216例子217M ULTICAST T EST217语法218例子218- 7 -MYIP219语法219例子219P EM2DER 219语法219例子220S CHEMA220语法220例子220SHOW L ICENSES221语法221SYSTEM221语法221例子221T3DBPING222语法222VERBOSE T O Z IP222语法223UNIX上的例子223NT上的例子223VERSION223语法223例子223WRITE L IENSE224语法224例子224B WEBLOGIC服务器的命令行接口参考226命令行接口简介226Before You Begin 226使用W EB L OGIC服务器命令227语法227参数227W EB L OGIC服务器管理命令参考228CONNECT 229HELP 229LICENSES 230LIST 230LOCK 231PING 231SERVERLOG 232SHUTDOWN 233THR EAD_DUMP 233- 8 -unlock 234VERSION 234M BEAN管理命令参考235CREATE命令 235DELETE命令 236GET命令237INVOKE命令 238SET命令239配置及管理连接池的命令240命令的名字240WEB服务器插件的参数241概述241W EB SERVER插件的一般参数241W EB SERVER插件的SSL参数245- 9 -1WebLogic服务器管理概述本章将介绍WebLogic服务器的管理工具,内容如下:✓域、管理服务器以及受管理的服务器✓启动管理控制台✓运行时对象与配置对象✓对日志消息的集中访问BEA WebLogic Server™包含了许多互相关联的资源。

weblogic 优化

weblogic 优化

优化WebLogic 服务器性能参数WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。

基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。

试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态:一修改运行队列线程数的值。

在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。

当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。

线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。

二,如果可能,使用自带的性能包(NativeIOEnabled=true)。

三,使用特定的应用程序执行队列。

四,使用JDBC连接池时,修改下列属性:n 驱动名称:使用小的驱动或者jDriver。

n 初始容量:设为与最大容量相同的值。

n 最大容量:其值至少应与线程数相同。

五,把连接池的大小设为与执行队列的线程数相同。

六,设置缓冲。

七,为Servlet和JSP使用多个执行队列。

八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。

优化WebLogic提要:n 为WebLogic 启动设置Java 参数。

n 设置与性能有关的配置参数。

n 调整开发与产品模式默认值。

n 使用WebLogic “自有的IO ”性能包。

n 优化默认执行队列线程。

n 优化连接缓存。

n 如何提高JDBC 连接池的性能。

n 设置Java 编译器。

n 使用WebLogic 集群提高性能。

n 监视WebLogic 域。

一、为WebLogic 启动设置Java 参数只要启动WebLogic ,就必须指定Java 参数,简单来说,通过WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错,BEA 公司推荐你把这个命令写进脚本里。

weblogic优化

weblogic优化

WebLogic Server Performance and TuningWebLogic Server性能调整Tuning Java Virtual Machines (JVMs)调整java虚拟机Garbage Collection垃圾回收VM Heap Size and Garbage Collection虚拟机堆大小和垃圾回收java堆是java对象存活的地方。

其中存有live对象,dead对象和空闲内存。

当正运行的程序中某个对象不可达时,它就被认为是“garbage”并且准备被回收。

一个最优方法是调整垃圾回收时间在执行时间的5%之内。

java虚拟机的堆大小决定了虚拟机垃圾回收的频率和用时。

要在分析垃圾回收的时间运行时间和频率后再将对大小调整到一个可接受的比率。

如果堆设置的大了,full GC 一次就变慢,但发生频率低。

如果根据你的需要设置堆大小,则full GC一次就变快,但是发生频率高。

调整堆大小的目标是,使给定时间内weblogic server能服务的客户数最大化,与此同时,使java虚拟机花在垃圾回收上的时间最小化。

在benchmarking内为了确保性能,你可能设置很大的堆大小以确保在整个benchmark运行中都不发生垃圾回收。

如果在没有堆空间的情况下运行,你会看到如下错误:ng.OutOfMemoryError <<no stack trace available>>ng.OutOfMemoryError <<no stack trace available>> Exception in thread "main"Choosing a Garbage Collection Scheme选择垃圾回收计划根据所使用的java虚拟机,可以从几个垃圾回收计划来管理你的系统内存。

例如,某些垃圾回收计划更适合特定应用。

综合管理系统软硬件资源优化整合

综合管理系统软硬件资源优化整合

综合管理系统软硬件资源优化整合李文娟;王有虎;马美珍【摘要】文章对原综合管理各系统进行软硬件资源优化整合,通过对数据库、平台软件以及服务器的整合,提高了各系统间软硬件资源有效共享和综合利用,提升了系统可靠性与可用率.【期刊名称】《青海电力》【年(卷),期】2012(031)001【总页数】3页(P60-62)【关键词】综合管理;软硬件资源优化;整合【作者】李文娟;王有虎;马美珍【作者单位】青海省电力公司信息通信公司,青海西宁810008;青海省电力公司信息通信公司,青海西宁810008;青海省电力公司信息通信公司,青海西宁810008【正文语种】中文【中图分类】TP393.0722010年完成建设并投入运行的系统包括审计业务应用、经济法律、农电管理、远程培训、综合计划及投资计划共6个系统。

系统建设初期,只是简单新增软硬件设备,缺少信息化设施统筹规划,缺乏新增业务应用软硬件资源合理部署,造成采购软硬件设备数量大。

由于不断扩充空调设施,扩容供电电源,扩建机房等各类服务器负载率低,软硬件资源利用率不高,并且存在单机运行故障等问题。

因此,对综合管理系统进行软硬件资源优化整合势在必行。

1 存在问题综合管理原系统为单机部署模式,即在一台PC服务器上安装中间件(Weblogic/Tomcat/netweaver)作为应用服务器。

1)经济法律、农电管理、远程培训、综合计划及投资计划5个系统服务器和数据库在运行中存在单点故障隐患。

无论是服务器自身故障,还是Oracle数据库或是Weblogic中间件故障,都会影响应用系统正常运行,导致用户无法使用系统。

2)各系统应用服务器和数据库服务器CPU平均负载率及内存平均利用率见表1。

审计管理系统数据库(松耦合数据库)只存放审计系统和其它2个系统业务数据,这3个系统所占容量900 GB,还有2 684 GB空闲容量未使用。

由于缺乏系统软硬件整体规划和架构设计,导致设备配置裕度较大,设备利用率较低。

weblogic启动内存配置[最新]

weblogic启动内存配置[最新]

Weblogic 启动内存配置1、找到配置文件位置,默认路径是wlserver_10.3/common/bin/commEnv.sh2、找到commEnv.sh文件,修改此配置文件if [ "$PRODUCTION_MODE" = "true" ]; thencase $JA V A_VENDOR inBEA)JA V A_VM=-jrockitMEM_ARGS="-Xms512m -Xmx2048m";;HP)JA V A_VM=-serverMEM_ARGS="-Xms512m -Xmx2048m -XX:MaxPermSize=512m";;IBM)JA V A_VM=MEM_ARGS="-Xms512m -Xmx2048m";;Sun)JA V A_VM=-serverMEM_ARGS="-Xms512m -Xmx2048m -XX:MaxPermSize=512m";;*)JA V A_VM=MEM_ARGS="-Xms512m -Xmx2048m";;esacelsecase $JA V A_VENDOR inBEA)JA V A_VM=-jrockitMEM_ARGS="-Xms512m -Xmx2048m"JA V A_OPTIONS="${JA V A_OPTIONS} -Xverify:none";;HP)JA V A_VM=-clientMEM_ARGS="-Xms512m -Xmx2048m -XX:MaxPermSize=512m";;IBM)JA V A_VM=MEM_ARGS="-Xms512m -Xmx2048m";;Sun)JA V A_VM=-clientMEM_ARGS="-Xms512m -Xmx2048m -XX:MaxPermSize=512m"JA V A_OPTIONS="${JA V A_OPTIONS} -Xverify:none";;*)JA V A_VM=MEM_ARGS="-Xms512m -Xmx2048m";;红色标注的位置是启动时分配的内存大小,可根据实际需求进行调整。

WebLogic优化经验谈

WebLogic优化经验谈

WebLogic优化经验谈本文从J2EE应用架构来分别剖析系统调优,首先我们一般会从应用程序出发,去审核代码,做到代码级的优化,然后再调整应用服务器(BEA WebLogic8.1)和数据库 (Oracle9i)的参数,最后当然是调整操作系统和网络的性能(包括硬件升级)。

诚然,在我遇到的很多项目中,都是出现了性能问题后才想到调优,而且一般都是先进行系统参数调整,实在解决不了才会对代码进行检查.实际上,我们应当将代码级的调优放在应用设计时来做,测试生产时修改代码将是一件极其痛苦的事情。

第一章应用程序调优1.1.1 通用代码调优1.1.2 减小没有必要的操作对象的创建是个很昂贵的工作,所以我们应当尽量减少对象的创建,在需要的时候声明它,初始化它,不要重复初始化一个对象,尽量能做到再使用,而用完后置null有利于垃圾收集。

让类实现Cloneable接口,同时采用工厂模式,将减少类的创建,每次都是通过clone()方法来获得对象。

另外使用接口也能减少类的创建。

对于成员变量的初始化也应尽量避免, 特别是在一个类派生另一个类时。

异常抛出对性能不利。

抛出异常首先要创建一个新的对象。

Throwable接口的构造函数调用名为, fillInStackTrace()的本地(Native)方法,fillInStackTrace()方法检查堆栈,收集调用跟踪信息。

只要有异常被抛出,VM 就必须调整调用堆栈,因为在处理过程中创建了一个新的对象。

异常只能用于错误处理,不应该用来控制程序流程。

此外, 建议关闭Debug输出,尽量少用串行化、同步操作和耗时昂贵的服务(如Date())。

1.1.3 使用合适的类型当原始类型不能满足我们要求时,使用复杂类型。

String和StringBuffer 的区别自不必说了,是我们使用最多的类型,在涉及到字符运算时,强烈建议使用StringBuffer。

在做String匹配时使用intern()代替equal()。

WEBLOGIC启动JVM参数设置经验

WEBLOGIC启动JVM参数设置经验

WEBLOGIC启动JVM参数设置经验2011-11-01 08:41:46分类:Linux1. 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。

32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。

我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。

典型设置:o java -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。

-Xms3550m:设置JVM促使内存为3550m。

此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xmn2g:设置年轻代大小为2G。

整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。

持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。

此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。

-Xss128k:设置每个线程的堆栈大小。

JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。

更具应用的线程所需内存大小进行调整。

在相同物理内存下,减小这个值能生成更多的线程。

但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。

o java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0-XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。

设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。

weblogic调优(实用)

weblogic调优(实用)
参数 开发模式默认值 产品模式默认值
Execute Queue: Thread Count 15 threads 25 threads
JDBC Connection Pool: MaxCapacity 15 connnections 25 connections
通过启动管理控制台,在域(如:mydomain)> 配置 > 常规选择产品模式。
修改jdbc数据库连接池,修改为初始15,最大100。
5、WebLogic性能优化——线程数
线程数Thread Count
weblogic服务在接收到请求后,会交给后台的线程来处理,线程数决定了并发处理能力的大小。
WebLogic性能优化——线程数
修改了thread count的值后,要点击“应用(Apply)”按钮,并重启服务后,参数才能生效。
默认15,一般以服务器的CPU个数为基准,每个CPU可负担25个线程,最好不要超过50个
进入WebLogic控制台——左边窗口的mydomain——servers——点击myserver——Configuration——General(常规)——点击Advanced Options(高级选项 )的Show(显示)链接——
最下面的Configure Execute Queues(配置执行队列) 链接——weblogic.kernel.Default链接——Thread Count(线程计数)参数。的确是隐藏的比较深。修改Thread Count的值,
然后重启WebLogic就可以生效了。
6、License
主要检查4项:cpu、expiratioin、ip、units。
进入WebLogic控制台——左边窗口的mydomain——servers——点击myserver——Configuration/Tuning

Weblogic内存溢出及常用参数配置

Weblogic内存溢出及常用参数配置

Weblogic内存溢出及常用参数配置一、WebLogic内存溢出最近访问量门户访问量突然增大,总是内存溢出,频繁宕机,调整了很多参数没起作用,偶然发现Weblogic域在不断增大,罪魁祸首竟然是Weblogic的诊断文件,也是造成Weblogic内存溢出的主要原因。

当Weblogic启动时就加载了每个Server上的诊断文件,占用了大部分内存分配,用户访问量越大这个文件也随之越大,将他删除后重新启动服务,八个Server竟然也只用了6分钟,部署项目也只需7,8分钟,一直平稳运行,再无内存溢出现象。

该文件地址:/bea/user_projects/domains/{domain_name}/servers/{Server_name}/data/s tore/diagnostics/*.DAT(注:AdminServer下该诊断文件为1M左右正常)但是该文件还会继续生成增大,我们的域中并没有配置相关启动诊断文件的设置,Bea售后也无法解释,但可以通过尝试增加启动参数(ui.disableInstrumentation=true)来控制该诊断文件的增长,在/bea/user_projects/domains/{domain_name}/bin/startWebLogic.sh中:if [ "${WLS_REDIRECT_LOG}" = "" ] ; thenecho "Starting WLS with line:"echo "${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} ui.disableInstrumentation=true =${S ERVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY _SETTINGS} ${SERVER_CLASS}"${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}ui.disableInstrumentation=true =${SE RVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS}elseecho "Redirecting output from WLS window to ${WLS_REDIRECT_LOG}"${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}ui.disableInstrumentation=true =${SE RVER_NAME}-Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${PROXY_SETTINGS} ${SERVER_CLASS} >"${WLS_REDIRECT_LOG}" 2>&1该参数控制netui的诊断文件的生成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Weblogic 10.3.1.0 性能调优方案
V1.0
一、方案背景
本文描述的在Suse Linux Enterprise Server11 操作系统下Weblogic 10.3.1.0 性能调优,硬件的系统比较差,是由8core CPU,16G内存分离4个操作系统,每个操作系统是2core CPU,4G的内存,硬件系统的配置不是很高。

由于新框架在Weblogic10 下运行速度比较缓慢,需要对weblogic 容器的一些参数进行重新设置,以便提高新框架的运行速率,新框架包括登录页面、角色管理、管理员管理、日志管理、模板管理以及字典库管理,使用框架的技术是SSH3。

安装完Weblogic 10.3.1.0后,Weblogic的一些参数都是默认参数,在linux中需要对一些参数进行重新设置。

二、优化部分
本次优化,主要以服务器启动、参数设置、应用登录进行优化
2.1、创建域慢启动慢的特征:创建域到70%时,进程长时间等待,创建
域启动Weblogic的时候也是长时间等待。

原因:线程挂在security相关的随机数生成上面,由于JDK的bug导致而成的。

解决办法:修改Linux Weblogic上的jdk
$JAVA_HOME/jre/lib/security/java.security文件
将securerandom.source = file:/dev/urandom修改为:
Securerandom.source = file:/dev/./urandom
这样可以解决任何一个域weblogic启动慢的问题
由于windows的实现机制和linux不一样,所以不存在启动慢的问题
2.2、修改JAVA_VM、Cache等相关参数
在$DOMAIN_HOME/bin/setDomainEvn.sh中,修改如下参数:if [ "${JAVA_VENDOR}" = "Sun" ] ; then
WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m"
export WLS_MEM_ARGS_64BIT
WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m"
export WLS_MEM_ARGS_32BIT
else
WLS_MEM_ARGS_64BIT="-Xms512m -Xmx512m"
export WLS_MEM_ARGS_64BIT
WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m"
export WLS_MEM_ARGS_32BIT
fi
修改为:
if [ "${JAVA_VENDOR}" = "Sun" ] ; then
WLS_MEM_ARGS_64BIT="-Xms512m –Xmx1024m"
export WLS_MEM_ARGS_64BIT
WLS_MEM_ARGS_32BIT="-Xms512m –Xmx1024m"
export WLS_MEM_ARGS_32BIT
else
WLS_MEM_ARGS_64BIT="-Xms512m –Xmx1024m"
export WLS_MEM_ARGS_64BIT
WLS_MEM_ARGS_32BIT="-Xms512m –Xmx1024m"
export WLS_MEM_ARGS_32BIT
fi
修改如下参数:
MEM_PERM_SIZE_64BIT="-XX:PermSize=256m"
export MEM_PERM_SIZE_64BIT
MEM_PERM_SIZE_32BIT="-XX:PermSize=128m"
export MEM_PERM_SIZE_32BIT
修改为:
MEM_PERM_SIZE_64BIT="-XX:PermSize=512m"
export MEM_PERM_SIZE_64BIT
MEM_PERM_SIZE_32BIT="-XX:PermSize=512m"
export MEM_PERM_SIZE_32BIT
修改如下参数:
MEM_MAX_PERM_SIZE_64BIT="-XX:MaxPermSize=256m"
export MEM_MAX_PERM_SIZE_64BIT
MEM_MAX_PERM_SIZE_32BIT="-XX:MaxPermSize=128m"
export MEM_MAX_PERM_SIZE_32BIT
修改为:
MEM_MAX_PERM_SIZE_64BIT="-XX:MaxPermSize=512m"
export MEM_MAX_PERM_SIZE_64BIT
MEM_MAX_PERM_SIZE_32BIT="-XX:MaxPermSize=256m"
export MEM_MAX_PERM_SIZE_32BIT
2.3、Weblogic参数优化
base-domain –> services -> setting for AdminServer ->Configuration ->Tuning 设置NativeIOEnabled 设置为True
注意:如果在config.xml中有该选择,可以手动修改
2.3.1、调优执行队列线程:
a.修改默认执行线程数
在这里,执行队列的线程数表示执行队列能够同时执行的操作的数量。

但是此值不应该设置越大越好,应该恰到好处的去设置它,太小了,执行队列中将会积累很多待处理的任务,太大了,则会消耗大量的系统资源从而影响整体性能。

在产品模式下默认为25个执行线程
理想的默认执行线程数是由多方面的因素决定的,比如机器CPU性能、总体体系架构、I/O、操作系统的进程调度机制、JVM的线程调度机制。

随着CPU 个数的增加,WebLogic可以近乎线性地提高线程数。

线程数越多,花费在线程切换的时间也就越多;线程数越小,CPU可能无法得到充分的利用。

为获取一个理想的线程数,需要经过反复的测试。

在测试中,可以以25*CPU个数为基准进行调整。

当空闲线程较少,CPU利用率较低时,可以适当增加线程数的大小(每五个递增)。

对于PC Server和Windows 2000,则最好每个CPU小于50个线程,以CPU利用率为90%左右为最佳。

相关文档
最新文档