weblogic10性能优化及相关技巧

合集下载

weblogic10.3优化设置

weblogic10.3优化设置

Weblogic10.3_Windows优化设置优化说明: (2)一、Weblogic服务程序设置: (2)1、设置JDK内存: (2)2、设置线程数: (3)3、Weblogic数据库连接池连接数设置: (3)4、Weblogic的服务设置[配置\优化]: (4)二、Windows服务器设置: (4)1、修改最高端口号和TCP/IP释放连接时间: (4)三、Oracle数据库设置: (5)1、Oracle线程数设置: (5)优化实例: (5)一、Weblogic10.3_Windows集群布署 (5)1、机器配置: (6)2、Weblogic优化设置: (6)二、Weblogic10.3_Windows单机布署 (7)1、机器配置: (7)2、Weblogic优化设置: (7)优化说明:一、Weblogic服务程序设置:1、设置JDK内存:修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:修改前:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=48mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m修改后:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m) else (set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=128mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m说明:红色字体为修改的内容,具体修改值根据实际物理内存确定∙-Xmx3550m:设置JVM最大堆内存为3550M。

weblogic性能优化的相关设置

weblogic性能优化的相关设置

weblogic性能优化的相关设置为得到高性能的吞吐量,把Java堆的最小值与最大值设为相等。

如:"%JAVA_HOME%\bin\java" -hotspot -Xms512m -Xmx512m-classpath %CLASSPATH% -在一个WebLogic域中,配置文件(config.xml)位于与管理服务器通信的机器里,提供WebLogic MBean的长期存储。

管理服务器作为连接的中心点,为服务实例与系统管理工具提供服务。

域也可以包括其他的WebLogic实例,称之为从服务,主要为应用程序提供服务。

ExecuteQueue//执行队列缺省处理线程数ThreadsIncrease //线程增量,以支援溢出,减缓执行队列的负荷量ThreadsMaximum //处理中的最大线程数Execute Queues默认的执行线程为15。

默认的执行线程为25。

如果你不配置额外的执行队列,并且指定应用给这些队列,web 应用程序和RMI 对象就使用默认的队列weblogic.kernel.default。

注意;如果自带的执行包没有在你的平台上使用,你可能需要调整默认的执行队列线程数和担任socket读的线程的百分比,去实现最佳性能。

为了给执行队列决定一个理想的线程数,当队列中所有应用程序都运行在最大负荷的情况下,监视队列的吞吐量。

增加线程数,重复负载测试,直到达到最佳的吞吐量。

(在某些情况下,增加线程数将产生足够多的上下文转换程序,使得队列中的吞吐量开始减少。

)注意:WebLogic管理控制台显示的是所有服务器执行队列累积的吞吐量。

设置理想的执行队列的线程数,我们可以启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> 监视 > 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。

weblogic性能优化

weblogic性能优化

Weblogic性能调优实用手册1.尽量使用池资源。

Weblogic的池资源有很多种,这里介绍两种操作简单对系统性能提升比较大的两种池资源的调优方法:Thread pool (线程池)和JDBC connection pool (连接池)调优。

a)线程调优一般经验值为cpu个数乘15,同时将线程增量设为0。

例如一台服务器有2个cpu则,则线程数设置为2*15 =30个,线程增量设为0。

在服务器--〉配置--->高级--->最下边的配置执行队列进行线程调优。

在上图中选择执行队列weblogic.kernel.Default,进行线程调优配置,如下图:b)连接池调优基本准则为:连接数〉线程数然后再根据实际用户情况配置连接数。

在服务→JDBC→连接缓冲池中选择连接,如下图:例如一台服务器有两个cpu线程数设置为30,有60个用户使用此网络应用那么,初始连接数可以设置为30(连接数在30至60之间可以保证每一个线程至少有一个连接,没有线程空闲),增量可以设为5。

线程池资源可能导致应用系统运行速度慢,服务器资源没有得到有效利用。

JDBC连接池设置设置不正确会导致用户数增多时系统出现无法响应的情况。

2.内存调优内存应当根据不同的应用程序来设置,没有特殊要求则经验值为1G。

不正确设置内存可能导致的问题有a)应用服务经常出现内存溢出(Out Of memory),须重起应用。

b)Java虚拟机频繁回收内存,导致weblogic应用运行速度慢。

3.统计系统专用。

优化JTA时间不正确设置可能导致的问题有:报表发布失败(非常严重)4.错误检查方法:a)应用出现问题的时候,在weblogic应用程序窗口下使用ctrl+break的键盘组合,收集应用程序运行信息,方便查找程序错误。

b)查看应用程序内存使用server- monitoring比较优秀的内存使用情况应该是:增长减少比较平稳。

比较差的内存使用情况是:突然增减。

weblogic部署和优化

weblogic部署和优化

weblogic部署和优化Weblogic是目前主流J2EE服务器之一,支持符合J2EE标准的各类应用程序(Application),Weblogic支持分布式异构体系,能利用多种数据库平台并支持运行于多种操作系统。

weblogic部署一、weblogic部署前准备工作二、检查weblogic是否已经安装(weblogic 10.3 JDK1.6 )。

三、如没有安装联系ICT进行安装。

四、规划好(端口号、域路径、域名、console账号密码),建域的时候需用到这三个信息。

五、建weblogic域1)运行命令并建域bea/wlserver_10.3/common/bin/config.sh选择组件设置域的用户/密码选择运行模式, 建议使用production模式:修改端口设置域的存放路径:设置域名:在域的路径下新建boot.properties文件:补充:到其他域拷贝start.sh webkill.sh尝试用start.sh webkill.sh 进行域停启cd 域路径vi boot.propertiesmkdir app六、部署weblogic域1)修改config.xml部署A、数据库连接配置jdbc—在/home/spsdev/weblogic/acc/acc/WEB-INF/classes目录下修改jdbc.properteres、datasources.xmljndi—在/home/weblogic/acc/accweb1/config/jdbc目录下增加getpass.sh ***-jdbc.xml trans3des.sh transinput.sh配置。

上面的文件都可以在其他域的连接池进行拷贝,其中***-jdbc.xml文件要修改相应的数据库连接串和用户,用户密码可以通过执行transinput.sh修改用户密码。

B、config.xml配置部署下面是有JNDI连接池的配置方式,如是jdbc去掉相关连接池的配置。

Weblogic性能优化-并发量

Weblogic性能优化-并发量

Weblogic性能优化-并发量Weblogic性能优化-并发量并发量的优化主要是两个队列和处理Thread数:1、OS控制的TCP队列:存放操作系统已经接受,而Weblogic 还没有接受的Socket;2、Weblogic默认的Request队列:存放Weblogic已经接受,但是WebContainer还没有处理的Request;3、Thread数量:Weblogic处理线程,和CPU数量及业务逻辑相关。

如果用户并发量很大,由于WebContainer的处理能力有限,会产生以下结果:1、OS的T cp队列满,用户的请求被拒绝,这时还没有到达Weblogic,所以Weblogic日志中没有任何记录;2、OS的T cp队列未满,这时用户的请求将会进入T cp队列:1)Weblogic处理忙,来不及接受Socket,导致连接超时,这时Weblogic日志中同样没有任何记录;2)Socket连接被Weblogic接受进入Request队列;3、Request队列由Thread处理,OS调度Thread,处理Request请求:1)Request请求仍然在队列中,达到超时时间,连接中断,Weblogic日志中会记录错误信息;2)Thread接受Request,进入OS的Thread调度队列;4、Thread队列;1)OS繁忙,队列中的部分Thread会超时中断,这时Weblogic 日志中会记录错误信息;2)Thread数量少,OS空闲多。

所以,优化并发量,需要遵循下列步骤:1、调整Thread数量,使其与CPU数量相当:1)如果Thread数量《CPU数量,就需要增加Thread数量;2)如果Thread数量》CPU数量,并且延迟很多,就需要减少Thread数量;2、调整OS Tcp等待队列:1)如果客户方出现连接中断,但是Weblogic日志中没有任何信息,就增加队列长度;2)增加幅度:每次增加25%;3、调整程序,减少Thread处理及等待时间:1)分割长事务,划分为多个短事务;2)优化数据库;3)减少远程调用;。

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性能调优经验

Weblogic性能调优经验

Weblogic性能调优经验WEBLOGIC性能调优方案1.查看当前线程池大小:登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。

由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。

2.修改线程池大小:进入服务器的目录D:\bea\user_projects\domains\base_domain\config,使用编辑器打开config.xml文件,找到如下段落:<server><name>AdminServer</name><listen-address>168.5.130.34</listen-address>z</server>在</server>上面添加如下两行:默认10<self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-siz e-min><self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-siz e-max>添加后的结果:<server><name>AdminServer</name><listen-address>168.5.130.34</listen-address><self-tuning-thread-pool-size-min>1000</self-tuning-thread-pool-size-min><self-tuning-thread-pool-size-max>1000</self-tuning-thread-pool-size-max></server>按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的<server>段落,分别添加上面的两行语句。

WebLogic调优

WebLogic调优

WebLogic调优以下内容基于Linux OSOSOS需要调整的参数比较少,主要是网络参数、文件打开数限制参数。

调整Linux系统使用sysctl命令修改TCP参数等待时间间隔:sysctl -w ip_ct_tcp_timeout_time_wait=60;调整打开文件的最大数:在/etc/sysctl.conf文件中,添加:Fs.file-max=65535,然后运行sysctl –p;调整打开文件描述符最大数为8192:在/etc/security/limits.conf文件,添加:WebLogic hard nofile 8192(仅针对WebLogic用户),然后在WebLogic启动文件里运行ulimit-n 8192激活设置。

OS全局打开文件数限制:修改 /etc/sysctl.conf,增加fs.file-max = XXXX,不同版本OS有不同的限制,在数据库服务器或应用服务器中必须调大。

如何查看一个进程已打开文件数:Lsof -p pid 查看进程打开文件,列出每个文件Lsof -u XXX 查看用户打开文件个数lsof -p pid| wc -l计算进程打开文件个数(wc 计算行数 -l或字数 -w、字符数-m或字节数-c)JDKJDK参数一般分成以下几类:●堆设置-Xms -Xmx (SUN设置HEAP的初始与最大值,IBM JDK 建议不相同)SUN JDK专用-XX:MaxPermSize=256m ,持久代大小(CLASS元数据存储区,不会被GC),此值默认比较小(4M),需要调大,否则抛ng.OutOfMemoryError: PermGenspace。

尤其对JSP、动态编译类较多的系统。

IBM JDK没有MaxPermSize参数,这个区域就在HEAP底部。

●GC设置SUN JDK-XX:+UseParallelGC或-XX:+UseParallelOldGC,利用所有可用CPU进行并行GC,大吞吐量,PAUSE较长-XX:+UseConcMarkSweepGC,并发GC,后台Thread,可以减少Pause时间,但Thread本身有开销而降低吞吐量IBM JDK 见下表●GC统计信息设置-verbose:gc 打印GC过程,时间等●并发收集器设置SUN JDK-XX:ParallelGCThreads=N ,并发GC的线程数,一般与CPU个数相同。

weblogic 性能调优

weblogic 性能调优
这个最大值也可以理解系统并发操作的最大值,如果有等待的话可以适当再提高

建议值:200
b) 设定执行队列的溢出条件;
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> Execute Queue > weblogic.kernel.Defalt > 配置下面几项:
队列长度:此值表示执行队列中可容纳的最大请求数,默认值是65536,不要手动改变此值。
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)>配置 > 调整下可配置“接受预备连接”。
5、减少动态jsp载入次数
通过启动管理控制台,在域(如:mydomain)> 部署 >web应用程序模块 > 配置 > 描述符 > 下可配置
Servlet 重新加载检查(秒): 180
weblogic 性能调优:
1、找到startWebLogic.cmd文件,在
%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% =%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server
3、调优执行队列线程;
a) 修改默认执行线程数
通过启动管理控制台,在域(如:mydomain)> 服务器 > server实例(如:myserver)> 监视 > 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。

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性能优化及Unix命令操作

WebLogic性能优化及Unix命令操作

WebLogic性能优化——内存
3、注意Unix与Windows的参数差别。AIX和Linux 的参数值要加上双引号,Windows则不需要加。 如该加的没加,不该加的加了,就会导致设置的 参数不起作用,影响应用系统的性能。 4、Unix系统下参数是否生效的检查。可以使用如 下命令: ps –ef|grep java 如果设置的参数生效,在显示的结果中会看到设 置的值。如没有生效,会显示weblogic缺省的值Xms32m –Xmx200m。
WebLogic性能优化——License
ip:限制了服务器的ip地址,其他ip地址不 可以使用。any表示没有ip地址方面的限制。 units:试用版weblogic软件,这个值为5, 也就是说,最多允许5各用户访问这个 weblogic服务。unlimited表明没有限制。
WebLogic性能优化——NativeIO
WebLogic性能优化——内存
5、Windows下可以使用echo命令,在 startWebLogic.cmd文件中查看 echo %MEM_ARGS% 会在dos窗口中输出内存设置的信息。
WebLogic性能优化——线程数
线程数Thread Count weblogic服务在接收到请求后,会交给 后台的线程来处理,线程数决定了并发处 理能力的大小。 一般以服务器的CPU个数为基准,每个 CPU可负担25个线程,最好不要超过50个 查看线程的运行情况,上面已经提到。
在weblogic的server中,一般要将“Enable Native IO”选项置为false,即未选中状态。 并将“Socket Readers”的值设大66、88、 99等,缺省值为33。 还要查看各线程的状态,如果线程出现大 量被“Socket Readers”请求占用的情况, 则还是要将NativeIO置为true。

跟我学中间件相关技术及应用——WebLogic应用服务器性能调优

跟我学中间件相关技术及应用——WebLogic应用服务器性能调优

跟我学中间件相关技术及应用——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操作的结果能显著提高应用程序的运行性能。

weblogic10性能优化及相关技巧

weblogic10性能优化及相关技巧

weblogic10性能优化及相关技巧WebLogic10常见性能优化及相关技巧目录一、中文字符集的加载方法 (2)二、服务启动缓慢的解决方法 (3)三、文件损坏造成无法启动服务的解决方法 (3)四、打开文件数的优化 (4)五、虚拟机内存的优化 (5)六、连接池的优化 (5)七、服务节点访问超时的优化 (8)八、服务节点访问线程数的优化 (10)九、部署应用程序的优化 (10)十、日志的优化 (11)十一、清空输出日志nohup.out的方法 (13)十二、通过管理控制台对weblogic10运行情况进行监测 (13)十三、windows下weblogic控制台运行日志输出到文件 (15) 十四、忘记weblogic管理控制台密码的处理方法 (16)一、中文字符集的加载方法加载中文字符集的必要性:1、解决某些情况下服务无法启动(启动需要读取含中文的xml)。

2、解决应用程序运行异常(程序运行需要中文字符集的支持)。

3、方便查看相关系统运行日志。

一般在linux或aix操作系统上会出现中文字符集的问题加载方法:Linux操作系统修改域目录下xxx_domain/bin/setDomainEnv.sh文件,在文件中增加内容export LANG=zh_CN.GBK例如:IBM Aix操作系统修改域目录下xxx_domain/bin/setDomainEnv.sh文件,在文件中的java_options中增加内容:-Ddefault.client.encoding=GBK -Dfile.encoding=GBK nguage=Zh -Duser.region=CN例如:注意:要使上述修改方法有效,前提是linux/Aix操作系统安装时需要安装中文字符集,系统规划时要跟硬件集成商进行说明。

二、服务启动缓慢的解决方法有些时候我们在启动应用服务的时候,启动特别慢,有时慢到需要好几个小时,这实际是JVM在Linux/Aix下的bug,是由于服务想调用一个随机函数但取不到造成的。

weblogic调优、参数设置、JDK设置等相关文档

weblogic调优、参数设置、JDK设置等相关文档

java,weblogic和jdk性能文档作者: 张新周2005年1.应用服务器weblogic应用服务器是weblogic8.11.1 weblogic核心运行规则WebLogic Server的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。

当服务器由监听线程接收到连接请求后,将对它的连接控制权交给等待接收请求的套接字复用器。

然后套接字复用器读取离开套接字的请求,并将此请求及相关安全信息或事务处理环境一起置入适当的执行队列中(一般为默认的执行队列)。

当有一个请求出现在执行队列中时,就会有一个空闲的执行线程从该队列中取走发来的该请求,并返回应答,然后等待下一次请求.(演示weblogic的监控页面)1.1.1 演示线程监控1.1.2 演示吞吐量,请求等待队列,内存使用和回收情况1.2 weblogic的参数调整调优并不是没有目标的调整.没有目标的调优是没有意义的.在一定的要求下才能有目标的调优.A,调整默认执行线程数理想的默认执行线程数是由多方面的因素决定的,比如机器CPU性能、总线体系架构、I /O、操作系统的进程调度机制、JVM的线程调度机制。

WebLogic生产环境下默认的线程为25个,随着CPU个数的增加,WebLogic可以近乎线性地提高线程数。

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

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

在测试中,可以以25*CPUs为基准进行调整(这是个基准,实际可能跟这个有差距的)。

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

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

由于目前WebLogic执行线程没有缩小线程数的功能,所以应将参数Threads Increase设置为0,同时不应改变优先级的大小。

Weblogic10.3.6集群负载均衡安装加调优

Weblogic10.3.6集群负载均衡安装加调优

Weblogic10.3.6集群负载均衡安装加调优1、集群系统架构操作系统: linux 6.2Weblogic版本 Weblogic10.3.62、系统整体架构2.1、Weblogic方案:(建议服务器有4G以上的内存)1台管理服务器:安装weblogic10 管理节点。

2至5台应用服务器节点:安装Weblogic10 受管节点。

1台代理服务器2.2、本例中的部署如下所示:管理节点安装在主机 jljygl,通过代理服务器来完成负载均衡。

3、集群的安装3.1、安装集群的先决条件注意,必须在每个服务器中编辑/etc/hosts文件使群集的服务器之间能够互相使用机器名访问。

保证每一台应用服务器都可以使用ping 群集应用服务器名称来访问,实例文件/etc/hosts内容如下127.0.0.1 localhost.localdomain localhost #本机10.18.0.47 jljyqz1 #节点110.18.0.48 jljyqz2 #节点210.18.0.49 jljyqz3 #节点310.18.0.50 jljyqz4 #节点410.18.0.51 jljygl #管理192.168.1.8 jljyzhdb1 #数据库1192.168.1.9 jljydb2 #数据库2以 root 用户身份登录并在每个主机上配置 Linux 内核参数。

cat >> /etc/sysctl.conf >>EOFkernel.shmall = 2097152kernel.shmmax = 4294967295kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default=262144net.core.wmem_default=262144net.core.rmem_max=262144net.core.wmem_max=262144EOF/sbin/sysctl -p使用date命令查看每一台机器的系统时间,如果服务器时间相差在五分钟之内,请跳过此步。

weblogic练习指导手册_性能调优

weblogic练习指导手册_性能调优

Oracle WebLogic Server 10.3性能调优二○○八年九月二十六日目录练习1:安装WebLogic服务器与Grinder测试工具 (3)练习2:部署测试Web应用 (6)练习3:熟悉Grinder测试方法 (9)练习4:熟悉常见调优方式 (13)练习1:安装WebLogic服务器与Grinder 测试工具时间:约30分钟目标:本练习结束,你将完成本练习软件环境设置,包括:●Oracle WebLogic Server 10.3●Grinder练习步骤:安装并配置WebLogic服务器1.WebLogic server 10.3的安装程序,windows文件为server103_win32.exe;Linux文件为server103_linux32.bin。

2.运行对应的安装文件;3.在欢迎页面点“next”;4.在“选择BEA主目录”窗口使用默认“create a new BEA Home”选项,选择默认主目录c:\bea,点击“next”;5.在“安装类型”窗口选择“完整安装complete”,点击“next”;6.在“选择产品安装目录”窗口,接受默认目录,点击“next”;7.在“选择快捷键位置”窗口,接受默认选项,点击“next”;8.在“安装总结”窗口,点击“next”开始安装9.在“安装结束”窗口,去掉选项“运行快速启动Run Quickstart”,点击“Done”,结束安装;10.使用配置向导,按照下面属性创建一个新的WebLogic域:●Create a new WebLogic domain:选中●User name: weblogic●User password: weblogic●Production Mode:选中●Do you want to customize any of the following options: YES●Administrator Server Name: AdminServer●Listen address: All local Addresses●Listen Port: 7001●Domain Name: perf●Domain location: C:\bea\user_projects\domains11.打开一个command命令行窗口,进入C:\bea\user_projects\domains\perf目录,执行startWebLogic.cmd启动WebLogic管理服务器,看看是否可以成功启动。

linux中的weblogic性能调优

linux中的weblogic性能调优

Linux中的Weblogic性能测试调整一.操作系统参数调整1.linux TCP连接数调整通过命令:ulimit –n 查看当前最大TCP连接数,这表示当前用户的每个进程最多允许同时打开多少个文件。

一般系统默认为1024,在并发量大的情况下肯定不够用。

修改此限制的最简单办法:ulimit –n <file_num> 设置单一进程允许打开的最大文件数。

如果系统回显类似于“Operation not permitted”之类的话,说明修改失败,需要修改系统对该用户打开文件数的软限制或硬限制。

修改软限制或硬限制:修改/etc/security/limits.conf文件,在文件中添加如下行:* soft nofile 10240* hard nofile 10240表示修改所有用户的限制,也可以用指定用户名替代。

修改/etc/pam.d/login文件,在文件中添加如下行:session required /lib/security/pam_limits.so查看Linux系统级的最大打开文件数限制:cat /proc/sys/fs/file-max2.修改网络内核对TCP连接的有关限制端口范围:修改/etc/sysctl.conf文件,在文件中添加如下行:net.ipv4.ip_local_port_range = 1024 65535另外,有时无法建立TCP连接的原因可能是因为Linux网络内核的IP_TABLE防火墙对最大跟踪的TCP连接数有限制修改/etc/sysctl.conf文件,在文件中添加如下行:net.ipv4.ip_conntrack_max = 10240这表明将系统对最大跟踪的TCP连接数限制设置为10240。

请注意,此限制值要尽量小,以节省对内核内存的占用。

3.其他参数调整在/etc/sysctl.conf文件中增加如下参数,进行系统参数调整net.core.rmem_default=128388607 默认的TCP数据接收缓冲net.core.wmem_default=128388607 默认的TCP数据发送缓冲net.core.rmem_max=128388607net.core.wmem_max=128388607net.ipv4.tcp_rmem=8196 128388607 128388607 最小默认最大net.ipv4.tcp_wmem=8196 128388607 128388607net.ipv4.tcp_keepalive_time=1800tcp_keepalive_time 值控制TCP/IP 尝试验证空闲连接是否完好的频率。

Weblogic性能优化(图解)

Weblogic性能优化(图解)

Weblogic性能优化(图解)分类:Weblogic(2034)(1)若是觉得对您有⼀丢丢的帮助,烦请顶⼀下哦,激励我码出更多的帖⼦,^_^谢谢!1、数据源性能优化1、1连接池参数配置登录weblogic控制台,占击“connection pool”按钮进⼊数据库连接池配置页⾯。

数据源性源优化参数说明:1)初始容量(要在创建连接缓冲池时创建的物理连接数):102)最⼤容量(此连接缓冲池可容纳的最⼤物理连接数):1003)容量增长(将新连接添加到连接缓冲池时创建的连接数):3具体配置如下图所⽰:1、2⾼级参数配置:点数据源配置下⽅的“⾼级”按钮进⼊⾼级配置页⾯。

1)重试创建的频率(建⽴数据库连接尝试的间隔秒数):102)登录延迟(创建每个物理数据库连接前的延迟秒数。

此延迟⽀持不能快速连续处理多个连接请求的数据库服务器。

):103)⾮活动连接超时(保留连接处于不活动状态的秒数,该秒数过后 WebLogic Server 将收回该连接并将其释放回连接缓冲池):100具体配置如下图所⽰:4)取消“Remove Infected Connections Enabled”选项点掉勾选项后,应⽤程序关闭逻辑连接后,物理连接将返回到连接缓冲池并可由该应⽤程序或其他应⽤程序重复使⽤。

可以提⾼效率。

2、应⽤性能优化:点击部署成功的应⽤进⼊详情配置页⾯,配置参数说明:1)Servlet 重新加载检查(秒): -12)单线程 Servlet 缓冲池⼤⼩: 53)JSP 页检查(秒): 改为-1具体配置如下图所⽰:3、Weblogic下TCP连接数的调整进⼊weblogic控制台,点击左边选项树中的servers选项点击servers下的服务列表中的服务点击“Tuning”进⼊页⾯”Accpet Backing”选项,将后⾯的“50“ 修改为300-500,修改本选项的⽬的是增加tcp的连接,避免连接数满后,weblogic提⽰连接错误。

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

weblogic10

weblogic10

Weblogic10.3_Windows优化设置优化说明: (2)一、Weblogic服务程序设置: (2)1.设置JDK内存: (2)2.设置线程数: (3)3.Weblogic数据库连接池连接数设置: (3)4.Weblogic的服务设置[配置\优化]: (3)二、Windows服务器设置: (4)1.修改最高端口号和TCP/IP释放连接时间: (4)三、Oracle数据库设置: (4)1.Oracle线程数设置: (4)优化实例: (5)一、Weblogic10.3_Windows集群布署 (6)1.机器配置: (5)2、Weblogic优化设置: (5)二、Weblogic10.3_Windows单机布署 (8)1.机器配置: (6)2、Weblogic优化设置: 6优化说明:一、Weblogic服务程序设置:1.设置JDK内存:修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:修改前:if "%JA V A_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m) else (set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512mset WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=48mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m修改后:if "%JA V A_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m) else (set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m)set MEM_PERM_SIZE_32BIT=-XX:PermSize=128mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m•说明: 红色字体为修改的内容, 具体修改值根据实际物理内存确定•-Xmx3550m: 设置JVM最大堆内存为3550M。

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

WebLogic10常见性能优化及相关技巧目录一、中文字符集的加载方法 (2)二、服务启动缓慢的解决方法 (3)三、文件损坏造成无法启动服务的解决方法 (3)四、打开文件数的优化 (4)五、虚拟机内存的优化 (5)六、连接池的优化 (5)七、服务节点访问超时的优化 (8)八、服务节点访问线程数的优化 (10)九、部署应用程序的优化 (10)十、日志的优化 (11)十一、清空输出日志nohup.out的方法 (13)十二、通过管理控制台对weblogic10运行情况进行监测 (13)十三、windows下weblogic控制台运行日志输出到文件 (15)十四、忘记weblogic管理控制台密码的处理方法 (16)一、中文字符集的加载方法加载中文字符集的必要性:1、解决某些情况下服务无法启动(启动需要读取含中文的xml)。

2、解决应用程序运行异常(程序运行需要中文字符集的支持)。

3、方便查看相关系统运行日志。

一般在linux或aix操作系统上会出现中文字符集的问题加载方法:Linux操作系统修改域目录下xxx_domain/bin/setDomainEnv.sh文件,在文件中增加内容export LANG=zh_CN.GBK例如:IBM Aix操作系统修改域目录下xxx_domain/bin/setDomainEnv.sh文件,在文件中的java_options中增加内容:-Ddefault.client.encoding=GBK -Dfile.encoding=GBK nguage=Zh -Duser.region=CN例如:注意:要使上述修改方法有效,前提是linux/Aix操作系统安装时需要安装中文字符集,系统规划时要跟硬件集成商进行说明。

二、服务启动缓慢的解决方法有些时候我们在启动应用服务的时候,启动特别慢,有时慢到需要好几个小时,这实际是JVM在Linux/Aix下的bug,是由于服务想调用一个随机函数但取不到造成的。

解决方法:修改域目录下xxx_domain/bin/setDomainEnv.sh文件,在文件中的java_options中增加内容:-Djava.security.egd=file:/dev/zero例如:三、文件损坏造成无法启动服务的解决方法有些时候由于系统的非正常关机或其它特殊的情况,造成服务节点无法启动(启动到一半然后自动关闭jvm进程,提示日志文件错误等)。

解决方法:到域目录下找到xxx_domain/servers/下的对应的服务名的文件夹,将该文件删除,并重启服务。

(注意删除文件后如果是产品模式则需要重新创建一下boot.properties文件,进行自动登录校验)。

四、打开文件数的优化Weblogic默认打开文件数是1024个,如果系统对文件操作比较多的话weblogic就会报文件打开数过多的错误。

一般我们在java中操作文件时,要及时对文件进行关闭。

解决方法:到weblogic安装目录下找到/bea/wlserver_10.3/common/bin/commEnv.sh文件,找到resetFd()将该函数的内容进行注释,然后增加内容:ulimit -n 4096例如:五、虚拟机内存的优化Weblogic10默认java虚拟机内存是512M一般情况下够用,但在大并发的情况下还是需要调整的。

调整原则1、设置的大小不能超过硬件内存剩余的大小(linux查看当前内存剩余的命令:free -m)2、不建议把jvm设置得过大,一般最大设置到2048M即可,设置如果超过3G容易造成java进程崩溃。

设置方法:Windows操作系统域目录下找到setDomainEnv.cmd文件set MEM_ARGS=-Xms2048m –Xmx2048mset MEM_PERM_SIZE=-XX:PermSize=128mset MEM_MAX_PERM_SIZE=-XX:MaxPermSize=256mLinux或Aix操作系统域目录下找到setDomainEnv.sh文件MEM_ARGS="-Xms2048m –Xmx2048m"MEM_PERM_SIZE="-XX:PermSize=128m"MEM_MAX_PERM_SIZE="-XX:MaxPermSize=256m"六、连接池的优化1、对连接池初始化大小的设置连接池数量并不是越大越好,设置需要兼顾数据库的处理能力,如果是两台机器做weblogic集群,建议连接池初始化大小不要超过100,四台机器做weblogic集群,建议连接池初始化大小不要超过50 设置方法:登录weblogic管理控制台:http://192.168.0.1:1234/console2、对连接池有效性检查的设置在网络条件不好的情况下,必须要进行连接池有效性检查设置,否则我们的系统会频繁报错。

还有个好处就是重启数据库不用再重启weblogic,数据库启来后连接池会自动连接。

设置方法:3、连接池自动收回时间的设置在某些情况下,我们的应用服务器没有任何压力,数据库也没有压力,可连接池总是被占满,这种情况大多是由于我们测程序没有对连接池进行及时的关闭造成的,但我们又找不到程序错误的根源,这时我们可以开启weblogic的连接池空闲回收机制。

一般我们设置100s 如果连接100s 后没有被使用,则自动回收到连接池当中。

设置方法:七、服务节点访问超时的优化1、设置阻塞线程最长时间weblogic服务器默认阻塞线程最长时间是600s,一般情况下够用,但有些时候我们的程序在做大业务时可能要超过10分钟。

这样我们需要将阻塞线程时间加大。

设置方法:设置完后别忘了要保存。

2、修改本地注册表客户端浏览器有访问超时的限制,一般情况下是10分钟,即浏览器访问weblogic服务器如果10分钟没有反应,则浏览器会自动断开与weblogic服务器的连接。

修改方法:新建一个txt文本文件,添加如下内容:Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]"KeepAliveTimeout"=dword:00a4cb80"ServerInfoTimeout"=dword:00a4cb80"ReceiveTimeout"=dword:00a4cb80[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles] "MaxScriptStatements"=dword:00989680并将txt文件改名为test.reg文件在客户端,鼠标双击新建的test.reg注册表文件,进行注册表的修改。

在这里我们设置的是3600S,然后重启电脑即可。

3、修改F5的连接超时时间如果现场用到了负载均衡器F5,客户端的访问超时时间可能与F5的设置也有关系,在系统实施阶段,我们需要提前跟硬件集成商要求修改F5的连接超时时间,我们一般也设置成3600S或更长一些。

八、服务节点访问线程数的优化Weblogic10一般情况下不需进行线程调优,实践证明,修改线程数性能提升并不明显。

线程数也不是越大越好,我们一般设置成2000-4000即可。

设置方法:找到域目录下的xxx_domain/bin/setDomainEnv.sh文件,在文件中的java_options中增加内容:-Dweblogic.threadpool.MinPoolSize=2000-Dweblogic.threadpool.MaxPoolSize=4000例如:JAVA_PROPERTIES="${JAVA_PROPERTIES} ${WLP_JAVA_PROPERTIES}"export JAVA_PROPERTIESJAVA_OPTIONS="${JAVA_OPTIONS} ${JAVA_PROPERTIES}-Dwlw.iterativeDev=${iterativeDevFlag} -Dwlw.testConsole=${testConsoleFlag}-Dwlw.logErrorsToConsole=${logErrorsToConsoleFlag}-Dweblogic.threadpool.MinPoolSize=2000 -Dweblogic.threadpool.MaxPoolSize=4000" export JAVA_OPTIONS九、部署应用程序的优化取消jsp与Servlet的有效性检查,将检查频率改成-1,例如:十、日志的优化Weblogic频繁地写日志也会影响到性能,在这里我们取消不必要的日志,降低日志记录级别,也能提高一些性能。

1、Weblogic日志设置:十一、清空输出日志nohup.out的方法如果我们的weblogic服务是通过nohup命令进行启动的,域目录下会自动生成一个nohup.out文件,用来记录系统运行时日志的输出,这个文件如果长时间不进行清空,会占用应用服务器的硬盘空间。

清空方法:到域目录下执行:’’ > nohup.out十二、通过管理控制台对weblogic10运行情况进行监测1、监控连接池的使用情况一般情况下,当前连接数量不会超过我们设置的连接池的数量,如果连接池被占满,说明应用服务器压力比较大,或者是某些业务模块运行比较慢,造成连接池的等待。

可以适当增加连接池的数量,并检查我们的业务程看哪些模块运行速度慢,进行程序的优化。

2、监控队列执行情况一般情况下,队列等待应该为0,如果有等待的队列,说明当前应用服务器的压力比较大,这时可以监控数据库的运行情况,一般是由于我们的应用程序性能低下造成的。

十三、windows下weblogic控制台运行日志输出到文件Windows下的weblogic启动后为一个dos窗口,很难记录和显示所有程序运行的日志信息。

在这里,我们可以在域下创建一个批处理文件,来调用startWebLogic.cmd,将日志输出到文件。

用记事本新建一个startWebLogic.bat文件,文件内容如下:set filename=%date:~0,4%%date:~5,2%%date:~8,2%.txtstartWebLogic.cmd > %filename% 2>&1 &然后保存startWebLogic.bat文件,并将该文件拷贝到startWebLogic.cmd文件同一级目录,运行startWebLogic.bat文件,即在当前目录下生成一个以当前日期命名的日志文件,程序运行的日志都会记录在该文件当中,此时的dos窗口将不会实时显示日志信息,实时的日志信息会写到当前新生成的日志文件当中。

相关文档
最新文档