weblogic服务器优化配置详解
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性能调优实用手册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是目前主流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参数调优一、调优背景:应银监会总会需求,需对银监会派出机构客户风险监测预警系统进行1轮剔除网络环境的性能测试(在山东试运行阶段的性能测试,由于网络瓶颈较大,造成性能指标较差)。
由于时间紧张,只是匆忙搭建了测试环境,Weblogic、DB2等的参数均是默认设置,并未进行任何调优。
默认设置在系统使用人数不多的情况性能尚可,但当使用人数较多,或者进行大并发的性能测试时,则会显得捉襟见肘。
如:在本次测试过程中,在集团关联处的50并发,就会造成系统崩溃。
如图可见:在集团关联并发50的时候,队列长度已经高达103,空闲线程数已经为0,同时吞吐量极低,由此造成系统崩溃。
通过分析,查找到原因在于:JVM分配内存过少;线程池、连接池里分配的线程数以及容量过低,通过调优后解决了问题二、调优思路:一般来讲,J2EE应用架构环境下的系统调优,首先我们一般会从应用程序出发,去审核代码,做到代码级的优化,然后再调整应用服务器(BEA WebLogic8.1)和数据库(DB2)的参数,最后当然是调整操作系统和网络的性能(包括硬件升级)。
这是一种MDA的先进做法。
诚然,在许多项目中,不可能完全按照这个思路来做,我们把目标首先定位在应用系统所在的应用服务器(BEA WebLogic8.1)上,通过对BEA WebLogic8.1的参数进行设置,使WebLogic8.1能够在最优化的环境中去运行其系统,然后对DB2数据的参数进行优化设置,最后进行性能测试再找出导致性能瓶颈所在的SQL代码或JA V A程序,考量其修改的可行性,并进行最终问题优先级认定,与瓶颈模块进行协商解决性能问题。
当然,大多数时候都出现了性能问题后才想到调优,而且一般都是先进行系统参数调整,实在解决不了才会对代码进行检查。
实际上,我们应当将代码级的调优放在应用设计时来做,测试生产时修改代码将是一件极其痛苦的事情。
而本次测试由于时间紧张,只对Weblogic进行了参数调优,现将调优步骤进行说明:1.JVM调整:(1)首先,在D:\bea\user_projects\domains\mydomain下用编译模式打开startWebLogic.cmd,查找代码:call "%WL_HOME%\common\bin\commEnv.cmd"(windows)或者call "%WL_HOME%\common\bin\commEnv.sh"(linux/aix)找到后,在相应路径用编译模式打开该文件:(2)接着要弄清楚JDK厂商(是bea,还是sun、IBM等)set JA V A_VENDOR=BEA(此处说明应用的为BEA的JDK)(3)之后查找weblgoic运行模式:set PRODUCTION_MODE=默认是开发模式(线程计数默认为15)即为空,在上线时,应将其改为产品模式(线程计数默认为25):set PRODUCTION_MODE=ture(4)然后需修改分配给JVM的内存(默认为96M):因已确定厂商为BEA,运行模式为产品模式,所以找到::beaif "%PRODUCTION_MODE%" == "true" goto bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024mset JA V A_OPTIONS=%JA V A_OPTIONS% -Xverify:nonegoto continue:bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024m(此处即为分配给JVM的内存范围)goto continue可根据系统需要,修改分配的内存数注:如为32位的操作系统,则最大支持分配2G内存2.线程池调整:打开Weblogic,在路径:mydomain->服务器->myserver->右键打开“查看执行队列” weblogic.kernel.Default调整如下指标:(1) 线程计数—分配给此队列的线程数,建议值为: 100(2) 线程数增加—在出现溢出时,要添加到队列中的线程数,建议值为: 50(3) 最大线程数—此队列可以拥有的最大线程数。
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为中间件的社区应用层,有以下性能优化设置供参考。
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 配置与站点部署+优化一,软件名称与版本:oepe-indigo-installer-12.1.1.0.1.0349-12.1.1-win32.exe软件下载地址:/nt/middleware/11g/wls/1211/oepe-indigo-installer-12.1.1.0.1.0349-12.1.1-win32.exe二,安装:直接双击oepe-indigo-installer-12.1.1.0.1.0349-12.1.1-win32.exe出现如下界面表示开始进入安装:出现如下界面后点击下一步:下图是选择安装路径默认路径为C:\Oracle\Middleware 我这将安装路径改为:D:\Oracle\Middleware 然后直接点下一步:出现如下界面后直接点击一下步既可:然后选择YES选择完成后出现如下图我选择的典型安装然后直接下一步既可;以下界面是安装目录然后点击下一步:出现如下界面后接着选择下一步:直接点击一下步:下图界面表示进入最后安装阶段:出现如下界面后表示安装完成:启动WEBLOGIC后出现如下图界面点击创建一个新域:选择创建新的Weblogic域然后选择默认(如下图界面所示)直接点击下一步:下图是域名称与域配置文件所在位置也可以自行更改路径我这里不做更改直接用默认的然后点击下一步;下图界面是对域登陆用户名与密码的设置选项默认名为weblogic 我这里不做更改直接用这个用户名密码按自己的需求设置既可密码设置完成后直接点击下一步:下图界面选对开发模式由于用的是最新版本12.C系列软件里已带有JDK 不用再做另外的安装直接点击下一步:(注:可以使用WebLogic安全服务提供的验证数字证书。
有这些证书,你开发的应用程序会在SSL保护的环境下运行WEBLOGIC实例会自动部署和更新位于domain_name/applications目录下的应用程序)出现下图界面后选择管理服务器因为我们这里就单台没有做群集所以只选择第一个选择完成后点击下一步既可:(注:受管理服务器,集群和计算机选项是多台Weblogic组建群集时使用。
WebLogic调优参数配置
WebLogic调优参数配置WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。
基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。
试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态:一. 修改运行队列线程数的值。
在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。
当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。
线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。
二. 如果可能,使用自带的性能包(NativeIOEnabled=true)。
三. 使用特定的应用程序执行队列。
四. 使用JDBC连接池时,修改下列属性:●驱动名称:使用小的驱动或者jDriver。
●初始容量:设为与最大容量相同的值。
●最大容量:其值至少应与线程数相同。
五. 把连接池的大小设为与执行队列的线程数相同。
六. 设置缓冲。
七. 为Servlet和JSP使用多个执行队列。
八. 改变JSP默认的Java编译器,javac 比jikes或sj要慢。
提要:为 WebLogic 启动设置 Java 参数。
设置与性能有关的配置参数。
调整开发与产品模式默认值。
使用WebLogic “自有的IO ”性能包。
优化默认执行队列线程。
优化连接缓存。
如何提高 JDBC 连接池的性能。
设置 Java 编译器。
使用 WebLogic 集群提高性能。
监视 WebLogic 域。
一、为 WebLogic 启动设置 Java 参数只要启动 WebLogic ,就必须指定 Java 参数,简单来说,通过 WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错, BEA 公司推荐你把这个命令写进脚本里。
为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供 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 Server 性能及调优-调整资源适配器调优
WebLogic Server 性能及调优-调整资源适配器调优WebLogic Server 性能及调整-调整资源适配器本附录向资源适配器开发人员介绍了一些最佳实践。
? 资源适配器的类加载优化 ? 连接优化 ? 线程管理? InteractionSpec 接口资源适配器的类加载优化可以将资源适配器类打包到一个或多个 JAR 文件中,然后将 JAR 文件放置到 RAR文件中。
这些文件称为嵌套的 JAR 文件。
当在 RAR 文件中嵌套 JAR 文件并需要通过类加载器加载类时,则必须要针对每个必须加载的类打开、关闭和迭代 RAR 文件中的 JAR。
如果 RAR 文件中的 JAR 数量很少且相对较小,则不会对性能产生太大的影响。
另一方面,如果有很多 JAR 文件,而且 JAR 很大,则会对性能造成较大的影响。
为了避免出现这些性能问题,可以执行下列操作之一:? 以展开格式部署资源适配器。
这可以消除 JAR 嵌套,因此可以减少在查找类时引起的性能下降。
? 如果不可以选择以展开格式部署资源适配器,则可以在 RAR 文件中展开 JAR。
这样同样取消了 JAR 的嵌套形式,并因此显著提高了类加载的性能。
连接优化BEA 建议资源适配器实现 J2CA 1.5 Specification 的 7.14.2 和 7.14.2 两部分描述的可选增强功能。
通过实现这些接口,WebLogic Server 可以提供若干只有依靠这些接口才可以使用的功能。
通过 7.14.1 一节中描述的 Lazy Connection Association,服务器能够自动清除未使用的连接,并防止应用程序独占资源。
通过 7.14.2 一节中描述的 Lazy Transaction Enlistment,应用程序能够在打开连接之后启动事务。
线程管理资源适配器实现应使用 WorkManager(如 J2CA 1.5 Specification 中的“Work Management”所述)启动需要在新线程中运行的操作,而不是直接新建线程。
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调优、参数设置、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,同时不应改变优先级的大小。
Weblogic服务器的性能调试优化方案
Weblogic服务器的性能调试优化方案注:在下面做的介绍都是以Weblogic8.1为例的,其它版本的Weblogic可能会有些许不同。
1) 设置JAVA参数;a) 编辑Weblogic Server启动脚本文件;BEA_HOME\user_projects\domains\domain-name\startWebLogic.cmd(startWebLogic.sh on Unix)BEA_HOME\user_projects\domains\domain-name\startManagedWebLogic.cmd(startManage dWebLogic.sh on Unix)b) 编辑set JAVA_OPTIONS命令,如:set JAVA_OPTIONS="-Xms256m —Xmx256m;c) 保存,重启即可。
注:在WebLogic中,为了获得更好的性能,BEA公司推荐最小Java堆等于最大Java堆。
2) 开发模式vs. 产品模式;开发模式和产品模式的一些参数的默认值不同,可能会对性能造成影响,下面是对性能有影响的参数列表:通过启动管理控制台,在域(如:mydomain)> 配置> 常规选择产品模式。
3) 尽量开启本地I/O;通过启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)> 配置> 调整选择启用本地I/O。
注:此值也可通过手动的修改config.xml配置文件。
4) 调优执行队列线程;a) 修改默认执行线程数在这里,执行队列的线程数表示执行队列能够同时执行的操作的数量。
但此值不是设的越大越好,应该恰到好处的去设置它,太小了,执行队列中将会积累很多待处理的任务,太大了,则会消耗大量的系统资源从而影响整体的性能。
在产品模式下默认为25个执行线程。
为了设置理想的执行队列的线程数,我们可以启动管理控制台,在域(如:mydomain)> 服务器> server实例(如:myserver)> 监视> 性能中监控最大负载时执行队列的吞吐量和队列中的等待请求数,据此确定理想的数值。
WebLogic调优参数配置
WebLogic调优参数配置WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。
基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。
试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态:一. 修改运行队列线程数的值。
在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。
当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。
线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。
二. 如果可能,使用自带的性能包(NativeIOEnabled=true)。
三. 使用特定的应用程序执行队列。
四. 使用JDBC连接池时,修改下列属性:●驱动名称:使用小的驱动或者jDriver。
●初始容量:设为与最大容量相同的值。
●最大容量:其值至少应与线程数相同。
五. 把连接池的大小设为与执行队列的线程数相同。
六. 设置缓冲。
七. 为Servlet和JSP使用多个执行队列。
八. 改变JSP默认的Java编译器,javac 比jikes或sj要慢。
提要:为 WebLogic 启动设置 Java 参数。
设置与性能有关的配置参数。
调整开发与产品模式默认值。
使用WebLogic “自有的IO ”性能包。
优化默认执行队列线程。
优化连接缓存。
如何提高 JDBC 连接池的性能。
设置 Java 编译器。
使用 WebLogic 集群提高性能。
监视 WebLogic 域。
一、为 WebLogic 启动设置 Java 参数只要启动 WebLogic ,就必须指定 Java 参数,简单来说,通过 WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错, BEA 公司推荐你把这个命令写进脚本里。
为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供 WebLogic 启动服务器的。
Weblogic性能优化
例如最大用户连接2000 按并发用户10% 估算大概并发用户是200建议预留一些于是并发用户定为300网上说64位操作系统线程数经验值在3000~5000左右因此最小线程:3000最大线程:5000(这个不用设了9i之后自动设置的)假如是单节点的weblogic的话数据库连接池初始连接数:300最大连接数:1000步长:5因为weblogic节点的连接池最大连接数之和不能大于数据库的最大线程数。
因此oracle 的process设置为1000JVM内存设置Xms2048m -Xmx2048m -XX:MaxPermSize=512m优化说明一、Weblogic服务程序设置1、设置JDK内存修改weblogic\user_projects\domain\bin下的seDomainEnv.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_64BIT=-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_64BIT=-Xms1024m –Xmx1024m)Set MEM_PERM_SIZE_32BIT=-XX:PermSize=128mSet MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m说明:红色字体为修改的内容,具体修改值根据实际内存确定l -Xmx3550m:设置JVM最大堆内存为3550M。
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(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 Server 性能及调优
WebLogic Server 性能及调整性能调整导航对WebLogic Server 和WebLogic Server 应用程序进行性能调整是一个复杂和反复的过程。
以下部分提供调整导航和调整提示,可用于提高系统性能:▪性能调整导航▪调整提示性能调整导航以下步骤提供了导航,有助于调整应用程序环境以优化性能:1了解性能目标1测量性能规格1查找系统中的瓶颈1将瓶颈的影响降到最低程度1获得性能目标了解性能目标要确定性能目标,需要了解已部署的应用程序,以及环境对系统的约束。
收集有关应用程序组件应达到的活动级别的信息,如:▪预计用户数。
▪请求的数量和大小。
▪数据量及数据一致性。
▪确定目标CPU 利用率。
目标CPU 利用率不应该是100%,应根据应用程序的需要(包括利用率达到峰值时的CPU 周期)确定目标CPU 利用率。
如果将负载正常时的CPU 利用率优化为100%,将无力处理峰值负载。
某些应用程序对滞后很敏感,维持快速响应时间的能力对其也很重要,高CPU 利用率(利用率接近100%)可以缩短响应时间,同时吞吐量因服务器中的工作排队而保持不变,甚或增加。
对于此类应用程序,建议将目标CPU 利用率设置为70% - 80%。
对于对滞后不敏感的应用程序,合适的目标CPU 利用率为90%。
性能目标受限于某些约束,如:▪软硬件配置,如CPU 类型和磁盘大小相对于磁盘速度和足够的内存。
确定硬件要求并无一定之规。
确定充分满足应用程序需要所需的软硬件配置类型的过程称为容量规划。
要进行容量规划,需要对系统性能目标进行评估,还必须了解应用程序。
应将服务器硬件的容量规划重点放在最高性能要求上。
请参阅容量规划。
▪域间互操作能力、使用旧系统的能力、支持旧数据的能力。
▪开发成本、实现成本、维护成本。
此信息将用于设置应用程序环境的实际性能目标,如响应时间、吞吐量和特定硬件上的负载。
测量性能规格在了解性能目标中确定性能条件之后,对将用于量化性能目标的规格进行测量。
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 Server 性能及调优-调优 WebLogic Server
WebLogic Server 性能及调整-调整WebLogic Server以下部分描述如何调整WebLogic Server 以满足应用程序需要。
∙设置启动WebLogic Server 的Java 参数∙开发与生产模式的默认调整值∙线程管理∙调整网络I/O∙设置编译器选项∙使用WebLogic Server 群集提高性能∙监视WebLogic Server 域设置启动WebLogic Server 的Java 参数无论何时启动WebLogic Server,都必须指定Java 参数。
为了便于调用,可以使用weblogic.Server 命令从命令行完成这一操作。
但是,因为从命令行启动WebLogic Server 所需的参数可能非常冗长并且易于出错,所以BEA 建议将此命令组合到脚本中。
为简化这一过程,可以在启动WebLogic Server 时WebLogic 分发附带的示例脚步中修改默认值,如为WebLogic Server 实例指定Java 选项中所述。
如果已使用配置向导创建域,则WebLogic 启动脚本位于您指定域的domain-name目录中。
默认情况下,此目录是BEA_HOME\user_projects\domain\domain-name,其中BEA_HOME是包含产品安装的目录,domain-name是由选定配置模板定义的域目录的名称。
有关使用Configuration Wizard 创建域的详细信息,请参阅使用Configuration Wizard 创建域。
需要在这些脚本中修改某些默认Java 值才能满足您的环境和应用程序的需要。
这些文件中重要的性能调整参数是JA V A_HOME 参数和Java 堆大小参数:∙将变量JA V A_HOME 的值更改为JDK 的位置。
例如:set JA V A_HOME=C:\bea\jdk150_03∙为得到更高性能的吞吐量,可将最小Java 堆大小设置成等于最大堆大小。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章概要WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。
基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。
试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态:一修改运行队列线程数的值。
在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。
当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。
线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。
二,如果可能,使用自带的性能包(NativeIOEnabled=true)。
三,使用特定的应用程序执行队列。
四,使用JDBC连接池时,修改下列属性:驱动名称:使用小的驱动或者jDriver。
初始容量:设为与最大容量相同的值。
最大容量:其值至少应与线程数相同。
五,把连接池的大小设为与执行队列的线程数相同。
六,设置缓冲。
七,为Servlet和JSP使用多个执行队列。
八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。
第二章优化WebLogic提要:为WebLogic启动设置Java参数。
设置与性能有关的配置参数。
调整开发与产品模式默认值。
使用WebLogic“自有的IO”性能包。
优化默认执行队列线程。
优化连接缓存。
如何提高JDBC连接池的性能。
设置Java编译器。
使用WebLogic集群提高性能。
监视WebLogic域。
一、为WebLogic启动设置Java参数只要启动WebLogic,就必须指定Java参数,简单来说,通过WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错,BEA 公司推荐你把这个命令写进脚本里。
为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供WebLogic启动服务器的。
如果你用配置向导创建你的域,WebLogic启动脚本(startWebLogic.cmd)放在domain-name目录里。
默认情况下,这个目录是BEA_HOME\user_projects\domain\domain-name,BEA_HOME表示安装路径,domain-name是在配置模板中设置的域名称。
你需要在这个脚本中修改一些默认的Java参数值,使之适合你的应用环境和程序。
在这个文件中主要的性能参数是JAVA_HOME和Java堆的大小。
设JAVA_HOME的值为JDK所在的位置,如:set JAVA_HOME=/usr/local/jdk1_06_30为得到高性能的吞吐量,把Java堆的最小值与最大值设为相等。
一个详细的实例:哪些地方出了问题,这样可以更快的作出优化。
二、设置与性能有关的配置参数在一个WebLogic域中,配置文件(config.xml)位于与管理服务器通信的机器里,提供WebLogic MBean的长期存储。
管理服务器作为连接的中心点,为服务实例与系统管理工具提供服务。
域也可以包括其他的WebLogic实例,称之为从服务,主要为应用程序提供服务。
当启动管理服务器是,首先读域配置文件,然后跳过建立在配置文件中管理MBean 默认的属性值,每一次用系统管理工具(不管是命令行界面还是管理控制台)改变一个属性值,它都会被存到相应的管理MBean,并且写进配置文件。
下表列出了config.xml文件中影响服务器性能的参数。
元素属性控制台标签备注Server NativeIOEnabled Native IO EnabledExecuteQueue ThreadCount Thread CountExecuteQueue QueueLengthQueueLengthThresholdPercentThreadsIncreaseThreadsMaximumThreadPriority Queue LengthQueue Length Threshold Percent(队列长限度百分比)Threads IncreaseThreads MaximumThread PriorityServer StuckThreadMaxTimeStuckThreadTimerInteral Stuck Thread Max Time(堵塞线程的最长时间)Stuck Thread Timer Interval(堵塞线程的时间间隔)Server ThreadPoolPercentSocketReaders Socket ReadersServer AcceptBacklog Accept Backlog(接受缓存数)JDBCConnectionPool InitialCapacityMaxCapacity Initial CapacityMax CapacityJDBCConnectionPool StatementCacheSize Statement Cache Size(声明高速缓冲大小)三、调整开发模式与产品模式默认值你可以指定域为开发环境或为产品环境。
WebLogic会根据你指定的环境类型使用不同的默认值提供不同的服务。
下表列出了两种模式下的默认值优化参数开发模式产品模式Execute Queue: ThreadCount 15 threads 25 threadsJDBC Connection Pool: MaxCapacity 15 connections 25 connections3.1更改运行时模式在创建了一个域后,按下列步骤可以更改域里所有服务的的运行时模式:1.为更改运行在一个WebLogic主机上的所有域的运行时模式,用文本编辑器打开WL_HOME\common\bin\commEnv.cmd(Windows) 或者WL_HOME\common\bin\commEnv.sh (UNIX),WL_HOME是安装WebLogic的路径。
为指定的域更改运行时模式,就用文本编辑器打开domain-name\StartWebLogic.cmd (Windows) or domain-name\StartWebLogic.sh (UNIX),domain-name为创建的域的目录。
2.在这个脚本中,更改PRODUCTION_MODE的值,如果你要服务器运行在产品模式,指定其值为TRUE。
3.重启所有的服务器。
3.2两种模式的不同下表列出了开发模式与产品模式几种关键项的区别:功用名称开发模式产品模式SSL 你可以使用WebLogic安全服务提供的验证数字证书。
有这些证书,你开发的应用程序会在SSL保护的环境下运行。
如果你使用验证数字证书,会收到警告信息。
部署应用程序WEBLOGIC实例会自动部署和更新位于domain_name/applications目录下的应用程序(domain_name为域的名称)。
不能使用自动部署功能,必须使用WebLogic控制台或者WebLogiceblogic Deployer 工具。
Log 启动服务器后,服务器自动重命名本地日志文件为server-name.log.n,为了滞留的session ,只要日志文件的达到500kb,日志文件就会滚转一次。
当日志文件达到500kb,就会滚转。
Execute Queues 默认的执行线程为15。
默认的执行线程为25。
JDBC Connection Pool Capacity 默认的容量为15。
默认的容量为25。
四、使用WebLogic“自有的IO”性能包当你使用自有的性能包,测试基准就表明了主要性能的提高。
性能包采用最优化的平台及多线程的Socket去提高服务器的性能。
例如,本地Socket 读的多线程有自己的执行队列而不需要借用默认的执行队列线程,这样可以让默认执行线程很从容去处理应用程序。
不过,如果你一定要用纯Java socket读在主机上运行,你仍然可以通过配置每个服务器实例和客户机中适当的socket读的线程数量,来提高socket通信的性能。
设置性能包的操作方法:默认情况下,装载在config.xml中的是自有的性能包。
为了验证这个设置,在配置文件中检查NativeIOEnabled属性是否设为“true”(NativeIOEnabled=true)。
你也可以通过管理控制台来验证,步骤如下:1、启动管理服务器。
2、访问管理控制台。
3、展开左边面板的Servers 节点,显示域服务。
4、点击你要配置的服务实例。
5、选择Configuration->Tuning tab。
6、如果Enable Native IO复选框没有被选择,选中即可。
7、点击Apply。
8、重启服务器。
五、优化默认执行队列线程默认情况下,一个新的WebLogic实例配置了一个开发模式执行队列,weblogic.kernel.default,它包含15个线程。
另外,WebLogic提供了2个预配置队列:·weblogic.admin.HTTP——只在管理服务器上才有,这个队列供与管理控制台的通信用,你不能再配置它。
·weblogic.admin.RMI——管理服务器和被管理服务器上都有这个队列,它是供管理的交通之用,也不能再配置它。
如果你不配置额外的执行队列,并且指定应用给这些队列,web 应用程序和RMI对象就使用默认的队列weblogic.kernel.default。
注意;如果自带的执行包没有在你的平台上使用,你可能需要调整默认的执行队列线程数和担任socket读的线程的百分比,去实现最佳性能。
5.1你应该更改默认的线程数吗?增加更多的线程到默认的执行队列并不意味着你能处理更多的工作。
即使增加更多的线程,仍然被处理器的能力限制。
因为线程消耗内存,所以增加线程数属性的值不必要的降低了性能。
一个高的执行线程数导致更多的内存被占用并且增加了上下文转换程序,它也会降低性能。
线程数属性的值与应用程序处理的工作的类型关系密切。
例如,如果你的客户应用程序比较小,通过远程调用处理的工作较多,这样,客户端会花费更多的时间连接,因此,与能完成大量客户端任务的客户应用程序相比,会需要更多的线程数。
如果你的工作不需要使用超过15个线程(开发模式默认)或者25个线程(产品模式默认),就不要改变这个属性的值。
通常,如果你的应用程序访问数据库花很长时间才返回结果,与访问数据库很短时间就返回的应用程序比较,你会需要更多的执行线程。
从后者来看,用少点的线程数可能提高性能。
5.2需要修改默认线程数的情形为了给执行队列决定一个理想的线程数,当队列中所有应用程序都运行在最大负荷的情况下,监视队列的吞吐量。