weblogic数据源优化调整记录概要
weblogic-数据源配置与使用方法
Weblogic 配置使用数据源与使用方法我用的Weblogic10,其他可能有点不同,不过应该差不多启动weblogic10,登录选择JDBC->Data Sources ,如图1图1进入界面后,先点击左上角的Lock&Edit按钮,如图2图2点击后就可以进行编辑和配置了。
点击右边页面的“New”如图3图3点击NEW 后,出现新建数据源界面如图4图4变量解释:Name: 图4中第一个红框,随便起的名,在服务器用的数据源名,随便起,自己能认出来就行。
JNDI Name: 同志们,注意了,这个名字很重要,是在客户端要调用的JNDI名。
Database Type:数据库类型,我用的MySql,我选MySql,其他数据库也是一样的,用什么就选什么。
Database Driver:数据库驱动,地球人都知道写完了点“Next”中文的话就是“下一步”,如图5,图5直接点下一步如图6图6参数解释:Database Name: 数据库名Host Name:数据库地址,我是本地所以是127.0.0.1Port:数据库端口,mysql默认端口是3306,其他数据库各有不同Database User Name:数据库用户名Password/Confirm Password :数据库密码'配置好了点 next然后点击上面的Test Configeration 如图7图7PS:测试成功通过就点Finish,测试要是没通过自己找原因,有的时候会是驱动的问题,如果是找不到驱动错误的话,就自己把驱动放到weblogic 里去,在weblogic8.1中就有可能出现这种问题,数据库驱动放在"你电脑weblogic安装的位置\bea\wlserver_10.0\server\lib"Finish 如图 8图8其中MysqlTest 是刚才新建的数据源这时候还没有Targets,还不能用,点击MysqlTest,也就是刚才创建的数据源,出现图9页面图10点击第二个选项卡,即Targets ,出现如图11图11选择Server,然后点“Save”,然后点左上角的Activate Changes.如图12位置图12然后数据源就可以用了测试数据源连接1.随便建一个web工程2.在页面里写如下代码如图13图13第一行是实例化一个Context第二行是得到数据源的实例(DataSource)context.lookup("JNDI_mysql");Lookup(String str);Lookup里面的参数就是刚才你定义数据源的JNDI NAME(找图4)第三行通过数据源得到连接,然后就是正常使用数据库。
weblogic数据源配置
一、新建数据源
1、登录weblogic控制台,进入控制台首页。
点击数据源按钮,进入数据源配置页面,如下图:
2、点击激活按钮,激活修改状态,如下图:
3、进入数据源创建页面后,点击新建按钮,创建数据源,如下图所示:
4、进入数据源信息配置页面
“agentDS”,应用程序里面要调用到。
6、点击“next”按钮,进入下一步,如下图:
用户名、密码需要根据实际情况配置,这里给出的只是一个演示参数。
8、点击测试按钮,测试数据源配置是否成功,如下图:
9、如出现下图所示的绿色提示信息,则说明配置成功。
点击next按钮进入下一步,如下图:
10、将数据源关联到服务上后,点击完成按钮。
如下图:
11、点击修改激活按钮,激活数据源配置,如下图:
12、点击激活修改,进行数据源连接池配置,如下图:
13、勾选复选框,再点击下图中红色框选中的部分,如图所示:
14、进入连接池配置页面后,点击图中红色方框部分,如下图:
15、进入连接池参数配置页,如下图:
16、配置连接池连接参数,如下图:
17、点击保存按钮,进入下一步,如下图:
18、点击修改激活按钮,激活连接池配置,如下图:
19、如果出现下图绿色部分信息,则数据源连接池配置完成。
20、到此,所有的数据源配置已经完成,将应用的war包发布到weblogic上。
泛微e-cology常见_问题解决及性能调优
常见问题之安装问题
3. License无法提交,提示License信息错误
用户环境: Windows、AIX、Linux
问题原因: 有些系统的文件编码并非GBK,导致文件上传后无法识别License文件信息。
解决方法: Windows: 1) 卸载Resin服务,使用命令 httpd.exe -remove 2) 重新安装Resin服务,使用命令重新安装Resin服务
应用并重启数据库使配置生效此操作具有一定危险性请配置前备份数据库最好由客户dba来配置常见问题之性能调优2优化oracle系统参数如果系统使用人数非常多需要调整下oracle的处理进程数
e-cology常见问题解 决及性能调优
常见问题及解决方法
安装问题
常见问题之安装问题
1.迁移、恢复Ecology系统后,License无法提交
常见问题之性能调优
Linux: 修改/usr/weaver/resin-2.1.14/bin/startresin.sh文件 /usr/weaver/resin-2.1.14/bin/httpd.sh -Xms1024M –Xmx1800M -Xss150k &
Linux下检查JDK
JDK版本号
Linux系统不同 支持的JDK大小 各有差异,要得 到最优配置就使
SQL脚本如下:
/usr/weaver/resin-2.1.14/bin/httpd.sh –Xms1024M -Xmx1800M -Dfile.encoding=GBK -Xss150k &
常见问题之安装问题
4. Linux环境下登录系统后所有页面显示乱码
用户环境: Linux、AIX
问题原因: 系统未安装GBK语言包,或者当前非GBK环境。
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常用监控方法及指标
性能测试工作室,专注于性能测试技术研究(JMSRuntimeJMSServersCurrentCount 返回当前JMS服务的连接数ConnectionsCurrentCount 返回本JMS服务器上当前的连接数JMSServersHighCount 返回自服务器启动后JMS服务的最大连接数ConnectionsHighCount 返回本JMS服务器自上次重置后的最大连接数JVMRuntimeHeapSizeCurrent 返回当前JVM堆中内存数,单位时字节HeapFreeCurrent 返回当前JVM堆中空闲内存数,单位时字节ExecuteQueueRuntimeExecuteThreadCurrentIdleCount 返回队列中当前空闲线程数PendingRequestOldestTime 返回队列中最长的等待时间PendingRequestCurrentCount 返回队列中等待的请求数Queue Length 队列长度JDBCConnectionPoolRuntimeWaitingForConnectionHighCount返回本JDBCConnectionPoolRuntimeMBean 上最大等待连接数WaitingForConnectionCurrentCount 返回当前等待连接的总数MaxCapacity 返回JDBC池的最大能力WaitSecondsHighCount 返回等待连接中的最长时间等待者的秒数ActiveConnectionsCurrentCount 返回当前活动连接总数ActiveConnectionsHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大活动连接数注:weblogic通常监控JVM和执行队列,JDBC连接池,其中执行队列最关键的指标是Queue Length 队列长度weblogic一般来说监控jvm的使用、执行线程队列情况、和连接池的变化情况,还有一个很重要的检查weblogic的console日志这里经常能反映一些很重要到情况。
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 配置文件(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调优参数及监控指标
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使用手册大全详解(中文)
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日志说明及审计配置
pwd服务器日志每个WebLogic Server 实例将来自子系统和应用程序的所有消息写入位于本地主机上的服务器日志文件。
默认情况下,服务器日志文件位于服务器实例根目录下的logs 目录中;例如D:\Oracle\Middleware\user_projects\domains\snails_domain\servers\AdminServer\logs\Ad minServer.log,其中snails_domain 是在其中定位域的目录的名称,而 \AdminServer 是服务器的名称。
可在管理控制台的Gernal属性页中设置该文件的路径及名字,错误的输出的等级等。
每条日志消息都具有关联的严重程度级别。
日志消息的级别大致说明其重要级别或紧急级别。
WebLogic Server 具有从TRACE 到EMERGENCY 的预定义严重程度,在将日志请求调度给记录器时,会将对应严重程度转换为日志级别。
日志级别有如下取值可以在记录器和处理程序上设置日志严重程度级别。
在记录器上进行设置时,任何处理程序都不会收到记录器已拒绝的事件。
例如,如果在记录器上将日志级别设置为NOTICE,则任何处理程序都不会收到INFO 级别的事件。
在处理程序上设置日志级别时,仅会对处理程序应用限制,而不会对其他程序应用限制。
例如,为文件处理程序关闭DEBUG 意味着不会将任何DEBUG 消息写入日志文件,但会将DEBUG 消息将写入标准输出。
DOMAIN日志除将消息写入服务器日志文件外,每个服务器实例还会将其一部分消息转发到域范围日志文件。
默认情况下,服务器仅转发严重程度级别为NOTICE 或更高的消息。
虽然可以对转发哪些消息进行修改,但服务器永远不转发严重程度级别为DEBUG 的消息。
域日志文件提供用于查看域整体状态的中央位置。
域日志驻留在管理服务器的logs 目录中。
域日志文件的默认名称和位置是DOMAIN_NAME\servers\ADMIN_SERVER_NAME\logs\DOMAIN_NAME.log,其中,DOMAIN_NAME 是在其中定位域的目录的名称,而ADMIN_SERVER_NAME 是管理服务器的名称。
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配置Oracle数据源
配置和管理 WebLogic JDBC配置 JDBC 数据源本部分包括以下信息:∙了解 JDBC 数据源∙创建 JDBC 数据源∙事务选项∙连接缓冲池功能∙设置数据库安全凭据∙调整数据源连接缓冲池选项∙在服务器和群集上部署数据源∙最大程度地减少由不响应的数据库引起的服务器启动暂停∙JDBC 数据源的安全∙JDBC 数据源工厂(不赞成使用)了解 JDBC 数据源在 WebLogic Server 中,可通过将数据源添加到您的 WebLogic 域来配置数据库连接。
WebLogic JDBC 数据源提供了数据库访问和数据库连接管理。
每个数据源都包含一个数据库连接缓冲池,其中的数据库连接是在创建数据源时和启动服务器时创建的。
应用程序会通过在 JNDI 树中或在本地应用程序上下文中查找数据源,然后调用 getConnection()来保留来自数据源的数据库连接。
完成连接后,应用程序应尽早调用 connection.close(),该方法会将数据库连接返回缓冲池以供其他应用程序使用。
数据源及其连接缓冲池可以提供有助于保持系统运行和性能的连接管理进程。
可以设置数据源中的选项以满足您的应用程序和您的环境的需要。
以下部分描述了这些选项以及如何启用这些选项。
创建 JDBC 数据源要在您的 WebLogic 域中创建 JDBC 数据源,可以使用管理控制台或 WebLogic 脚本工具 (WLST)。
有关详细信息,请参阅以下部分:∙"“管理控制台联机帮助”中的创建 JDBC 数据源∙"“WebLogic 脚本工具”中的创建 JDBC 资源注意:WLST 已取代了 weblogic.Admin 命令行实用工具。
WebLogic Server 示例(可选择将其随 WebLogic Server 一起安装)包含了可用来代替weblogic.Admin JDBC 命令的示例脚本。
如果已安装了上述示例,则这些示例脚本可从WL_HOME\samples\server\examples\src\examples\wlst\online 获得,其中,WL_HOME 指 WebLogic 主目录,如 C:\bea\weblogic91。
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虚拟机,可以从几个垃圾回收计划来管理你的系统内存。
例如,某些垃圾回收计划更适合特定应用。
weblogic运维时经常遇到的问题和常用的配置
weblogic运维时经常遇到的问题和常⽤的配置希望这篇能把weblogic运维时经常遇到的问题、常⽤的配置汇总到⼀起。
1、配置jvm参数:⼀般在domain启动过程中会看到以下启动的⽇志信息,如下图所⽰:图中红⾊⽅框部分为启动weblogic domain的命令。
其中包括了jvm参数以及classpath信息。
【注意】java -client是由于之前建⽴的domain是开发模式的。
⽣产模式的话,这⾥执⾏的是java -server。
⾄于-client与-server的区别,⼤家去google下吧,这⾥不介绍了。
那如何修改这个配置呢?找到setDomainEnv.cmd⽂件(linux下⾯就是setDomainEnv.sh了),位置为:weblogic11\user_projects\domains\example\bin\setDomainEnv.cmd修改⽂件中的MEM_ARGS部分,相关参数配置如下:Java代码1. call "%WL_HOME%\common\bin\commEnv.cmd"2.3. set WLS_HOME=%WL_HOME%\server4.5. if "%JAVA_VENDOR%"=="Sun" (6. set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m7. set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m8. ) else (9. set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m10. set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m11. )12.13. set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%14.15. set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%16.17. if "%JAVA_USE_64BIT%"=="true" (18. set MEM_ARGS=%MEM_ARGS_64BIT%19. ) else (20. set MEM_ARGS=%MEM_ARGS_32BIT%21. )22.23. set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m24.25. set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m26.27. if "%JAVA_USE_64BIT%"=="true" (28. set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%29. ) else (30. set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%31. )32.33. set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m34.35. set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m36.37. if "%JAVA_USE_64BIT%"=="true" (38. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT%39. ) else (40. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT%41. )42. if "%JAVA_VENDOR%"=="Sun" (43. if "%PRODUCTION_MODE%"=="" (44. set MEM_DEV_ARGS=-XX:CompileThreshold=8000 %MEM_PERM_SIZE%45. )46. )47.48. @REM Had to have a separate test here BECAUSE of immediate variable expansion on windows49.50. if "%JAVA_VENDOR%"=="Sun" (51. set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%52. )53.54. if "%JAVA_VENDOR%"=="HP" (55. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%56. )57.58. if "%JAVA_VENDOR%"=="Apple" (59. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%60. )61.62. @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values63.64. if NOT "%USER_MEM_ARGS%"=="" (65. set MEM_ARGS=%USER_MEM_ARGS%66. )主要就是修改-Xms、-Xmx、-XX:PermSize、-XX:MaxPermSize的参数(视具体硬件、JVM负载情况进⾏修改)。
weblogic多数据源
配置Oracle的RAC的数据源当安装完了Oracle的RAC后,我的Oracle就是一个双机的集群了,支持load banla nce 和failover,但是数据源里面的JDBC的URL需要一种不同的格式:1)BEA的例子:/support_pattern/Oracle_RAC_Pattern.htmlWLS JDBC URL 的配置如下:jdbc:oracle:thin:@(description=(address_list= (address=(host=172.18.1 37.231) (protocol=tcp)(port=1521))(address=(host=172.18.137.230)(prot ocol=tcp) (port=1521)) (load_balance=yes)(failover=yes))(connect_data =(service_name= )))2)IBM 的例子:/infocenter/wpdoc/v510/index.jsp?topic=/co m.ibm.wp.ent.doc/wpf/plan_oracle_rac.htmljdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=PRIM ARY_NODE_HOSTNAME)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=SECONDARY_NODE_HOSTN AME)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DATABASE_SERVICENAME)))我的试验的配置:jdbc:oracle:thin:@(description=(address_list= (address=(host=p570_b) (protocol=tcp)(p ort=1521))(address=(host=p570_a)(protocol=tcp) (port=1521)) (load_balance=yes)(failo ver=yes))(connect_data=(service_name= orcl)))我一开始使用的是IP地址,但发现使用IP后,第一下测试连接成功,第二下失败,第三下成功,第四下失败,就是这个规律,原因是RAC自己就有负载均衡的功能(load banl ance),它会自动的分配负载(workload),而第二次的请求据说返回的不是IP,所以在我的IP的列表里面没有,自然找不到(这是另一个工程师解释给我的,不过我不太相信,因为B EA的文档中使用的就是IP,但我又不知道为什么)。
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的诊断文件的生成。
Weblogic日志分析
§1Weblogic日志分析BEA公司是weblogic的厂商,他们做的日志比我们更专业,我非常肯定他们的分析。
在这里,我就不重复BEA公司对肇庆电网营销系统的再分析了,只是从开发的角度,对一些问题做一点补充。
§1.1BEA-101083BEA的分析非常正确,关于解决方法有一点补充。
这个也可能是网络的原因导致的,因此建议对于出现慢的地区的网络进行检查,确保网络有足够的带宽与速度。
§1.2BEA-101017补充一点,这可能是程序内部的代码不优化,导致有大量数据产生,从日志来看,可能下面这些组件需要优化:ponent.ar.cmp_ar_servicelocationponent.msflow.cmp_ms_ex_flow_getoutponent.aparchive.cmp_ag_meterassetponent.chg.cmp_chg_arrear_queryponent.aparchive.cmp_ag_servicelocationponent.flow.cmp_flow_worklistponent.chg.cmp_chg_bank_chgmonth日志分析1、日志中BEA相关打印信息类汇总 (3)2、各BEA代码分类明细 (3)3、BEA代号分析 (5)3.1、错误类代码分析 (5)3.2.Debug类分析 (9)3.3.Alert类分析 (10)3.4.Waining类分析 (11)4、BEA代码段分析 (12)5、日志总体分析 (17)说明:日志时间段:May 15, 2007 9:02:37 AM CST to May 15, 2007 3:42:03 PM CSTServer :weblogic_a2logname weblogic_a2.log time:2007-5-15 15:42 size:27,275,777K以下为针对日志中与weblogic相关信息进行分析,特别是大量中间件信息与BEA相关代码进行统计及打印信息及特点进行描述。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一:解决数据源一段时间后不可用问题前的观察和分析:1.1.开始时连接池各项属性的配置信息:初始容量:要在创建连接池时创建的物理连接数。
更多信息...最大容量:此连接池可容纳的最大物理连接数。
更多信息...容量增长:将新连接添加到连接池时创建的连接数。
更多信息...语句高速缓存类型:用于维护存储在语句高速缓存中的预定义语句的算法。
更多信息...语句高速缓存大小: 存储在高速缓存中的预定义语句和可调用语句的数量。
(这样可能会提高服务器性能。
更多信息...高级保留时测试连接使 WebLogic Server 能够在将连接提供给客户机之前对连接进行测试。
(要求指定“测试表名称”。
更多信息...测试频率:WebLogic Server 对未用连接进行测试的间隔秒数。
(要求指定“测试表名称”。
未通过测试的连接将被关闭, 然后将它们重新打开以重新建立有效的物理连接。
如果测试再次失败, 则此连接将被关闭。
更多信息...测试表名称:测试物理数据库连接时使用的数据库表名。
指定“测试频率”和启用“测试保留的连接数”时需要此名称。
更多信息...信任空闲池连接的秒数:在将连接传送到应用程序之前或定期连接测试过程期间, WebLogic Server 相信连接仍然有效并将跳过连接测试时使用连接的秒数。
更多信息...收缩频率:在收缩为满足需要而增大了的连接池前需等待的秒数。
更多信息...初始化SQL:要执行用于初始化新建物理数据库连接的 SQL 语句。
以 SQL 后跟一个空格作为语句的开头。
更多信息...重试创建连接的频率:建立数据库连接尝试的间隔秒数。
更多信息...登录延迟:创建每个物理数据库连接前的延迟秒数。
此延迟支持不能快速连续处理多个连接请求的数据库服务器。
更多信息...非活动连接超时:保留连接处于不活动状态的秒数, 该时间过后 WebLogicServer 将收回该连接并将其释放回连接池。
更多信息...最大等待连接数:等待保留数据源的连接池中的连接时会阻塞线程的最大并发连接请求数。
更多信息...连接保留超时:保留连接池中的连接的调用超时之前经过的秒数。
更多信息...语句超时:连接池配置信息重要修改点:1.初始容量:最大容量:容量增长:调整此参数是为了提升数据源的性能,在数据源创建之初,直接创建60个可用的数据库链接,以防止在oracle服务器端在一个数据库实例zmddb下,默认提供最大150个数据库链接可供使用,而由于在同一个zmddb数据库实例下,我们有两个用户zmdswoa和zmdswbgscms,也就是说假如zmdswbgscms应用程序使用了140个数据库链接,并且没有得到合理的释放,那么zmdswoa应用程序所使用的数据源中即使配置了60个最大容量的数据库链接,但是,初始容量为1,那么也就是需要时才创建新的数据库链接放入数据源的池中,那么如果oracle服务端,已经没有可用的数据库连接了,zmdswoa对应的数据源将无法创建可用链接。
所以,初始容量和最大容量根据zmdswoa的实际情况,直接设置为60,一开始创建数据源时就占用60个,最大限度的保证了zmdswoa应用程序中数据库链接的可用链接数量,防止受到其他同一个zmddb数据库实例下其他用户zmdswbgscms的可用数据库链接竞争。
至于容量增长:由1调整至5,是为了增加并发性,因为创建数据库链接需要有一定的延迟,如果增大这个数字,会在并发情况下,增强获得数据库连接的可靠性和速度,获得更好的性能。
1.重试创建连接的频率:调整此参数是为了在连接池自动加载或维护时,如果在一定时间内不断的重新创建正确的可用的数据库链接,30秒来限定创建连接的超时时间,也就是30秒之内,会不断的尝试创建正确的可用链接。
2.连接保留超时:调整此参数是为了在并发情况下,如果一定的时间内无法获得数据库链接,则暂时等待,并不直接返回NullPointerException,而保留连接池中的连接的调用超时之前经过的秒数,设置为30秒,也就是说,在请求链接之后,30秒之内,会不断的尝试从数据源中返回正确可用的数据库链接给调用方,直到正确返回,否则在30秒内会持续保留。
3.非活动连接超时:保留连接处于不活动状态的秒数, 该时间过后 WebLogic Server 将收回该连接并将其释放回连接池,这样,有利于更加合理的调度数据库链接资源,增加数据源中可利用数据库链接的数量,以保证在一定的时间内,数据源更大的服务能力和并发能力,并通过100秒这个显示的时间限定,在到了时间之后,自动回收不活跃的数据库链接到数据源中,这样,减少了数据库链接泄露和无可用数据库链接发生的可能性。
1.2.在部署界面中,监视JDBC各项数据情况:从这个界面,可以获得应用程序在一定时间内的数据库最大使用量,和并发量,和健康度(泄露链接计数,可用数,不可用数等),观察各个数据源的现状。
从这个界面,可以监视weblogic中Server实例AdminServer的服务情况,如一般信息,健康状况,通道,性能,线程,计时器,工作量,安全,默认存储,JMS,SAF,JDBC,JTA等,而我们需要关注的主要是一般信息,健康状况,性能,线程,JDBC这几项。
特别说明:(1)weblogic在不修改的情况下,默认的可执行线程数为15,(2)weblogic数据源在不修改的情况下,默认数据源的最大容量为15,初始容量为1,容量增长为1.1.3 用zmdswoa的身份登录数据库客户端,并观察当前的会话情况:SID,代表了oracle服务器端生成的数据库连接的唯一标示数字,按照SID排序,可以看出当前数据库链接的使用量,因为oracle的SID是从1开始分配的。
用户名,代表了连接该数据库实例zmddb的用户名,以此可以判断出当前各个应用程序链接数据库和数据库使用情况。
1.4修改可执行线程数:D:\bea11g\user_projects\domains\base_domain\bin下的setDomainEnv.cmd;调整规则:JDK5.0以后每个线程栈大小为1M,但是操作系统对一个进程内的线程数还是有限制的,不能无限生成。
32位操作系统根据JVM最大堆内存设置;64位操作系统经验值在3000~5000左右。
重要代码片段:set JAVA_OPTIONS=-Dweblogic.threadpool.MinPoolSize=50 -Dweblogic.threadpool.MaxPoolSize=501.5修改weblogic服务器运行时可使用的内存使用量和静态堆栈的内存使用量:调整规则,32位操作系统,一般不超过2G即可。
重要代码片段:if "%JAVA_VENDOR%"=="Sun" (set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024melse (set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024mset WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024mset MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%if "%JAVA_USE_64BIT%"=="true" (set MEM_ARGS=%MEM_ARGS_64BIT%else (set MEM_ARGS=%MEM_ARGS_32BIT%set MEM_PERM_SIZE_64BIT=-XX:PermSize=128mset MEM_PERM_SIZE_32BIT=-XX:PermSize=128mif "%JAVA_USE_64BIT%"=="true" (set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%else (set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256mset MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m1.6从Bea ProductsTools中启用Node Manager,即为节点管理器,是安装weblogic时选择安装的一个weblogic自带的工具,会自动监控AdminServer的健康状况,并自动决定是否重新启动,这样,可以实现监控Server相关内容的健康状况,并在异常时自动重启; 1.7 数据源的名字一定不能和应用的名字一样,否则会出现一定时间后,数据源对象自动不正常,甚至自动销毁(这个可能是weblogic的bug,只能尽量避免);二:调整并优化了各项参数后,重新启动weblogic服务器,从weblogic的控制台监视,观看调整后变化,查看各项数据值,确认修改成功后即可:2.1.应用并发能力能力增强,由会话,最大会话数,总会话数可以看出。
2.2.修改了setDomainEnv.cmd文件后,可执行线程数量增大到了50个,提高了多线程处理能力,当然,也需要耗费更多的服务器内存,所以,调整服务器可用内存是必须的。
2.3调整服务器可用内存后,监视服务器性能指数,有所提升。
2.4 调整了数据源配置后,可明显看到,数据源性能指数有明显的上升,并且,数据库链接获得的稳定性和正确性明显提升。
三:与应用程序相关的数据库链接问题关键点总结:1. 在weblogic中配置数据源时,数据源的名字,绝对不能和应用的名字一样,例如,如果应用程序的名字为zmdswoa的话,那么数据源的名字最好是jdbc-zmdswoa,而不能为zmdswoa,如果重名,weblogic服务器会在加载和创建数据源对象时产生混淆,在一定时候,会造成数据源对象莫名奇妙的销毁,从而获得不了任何数据库链接,而数据源对象在下次重启weblogic服务器之前,都不会自动修复,所以,应用程序中会出现请求数据库连接时NullPointerException异常。
修改所有数据源的名字,前面都加上了jdbc-前缀,使之与应用名字zmdswoa和zmdswbgscms不重名,减少了这种weblogic中bug发生的可能性。
2. 在办公系统zmdswoa中潜入了zmdswbgscms应用中的一个滚动图片jsp页面,而且,该页面代码由于代码错误,本来要加载服务器静态图片,但却是每次都需要重新从数据库中查询BLOB二进制流文件,有严重的数据库链接占用和消耗的情况发生;而碰巧,zmdswbgscms和zmdswoa这两个应用是在同一个zmddb数据库实例下,而由于zmdswbgscms 应用占用了大量的数据库链接,(默认情况下,oracle服务器端在一个数据库实例下,最多只能有150个数据库链接),假如被zmdswbgscms应用占用了大量的数据库链接,那么zmdswoa应用所对应的数据源将在一段时间后甚至无法获得任何一个可用的链接。