weblogic自动关闭优化
案例分析---Weblogic服务启动后自动停止问题

【问题描述】
进入服务后,服务中出现“请按任意键继续”的提示,按了任意键后,服务退出。
【排查过程】
出现服务自动停止运行,可能原因有:
(1)相应数据库服务未启动;
(2)中间件weblogic有问题;
(3)已经有服务启动,之后启动的服务会自动退出。
1、检查oracle数据库服务,oracle服务已经启动
2、检查weblogic服务是否有问题,我们可以查看到重启服务时提示
有另一个服务正在运行。
3、查看任务管理器中,确实有CMD.EXE的进程,并且我们注意到,
同时有计划任务在运行,因此怀疑在任务计划中启动了服务。
查看计划任务,果然是已经启动了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优化经验谈本文从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参数调优一、调优背景:应银监会总会需求,需对银监会派出机构客户风险监测预警系统进行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调优以下内容基于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应用层优化调试设置
以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优化(教材)

九瑞网络技术有限公司
中软
参数修改
文件 $CATALINA_HOME/conf/server.xml <Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75“ enableLookups ="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000“ disableUploadTi meout="true" />
九瑞网络技术有限公司
中软
操作系统性能调整
网络性能调整 打开文件数量调整
默认windows下打开文件数是2000;在linux 下是1024; vi /etc/profile 加入ulimit -n 4096就把linux 改成打开文件最大数为4096
九瑞网络技术有限公司
中软
为WebLogic启动设置Java参数
九瑞网络技术有限公司
中软
设置与性能有关的配置参数2
ExcuteQueue
ThreadCount QueueLength QueueLengthThresholdPercent ThreadsIncrease ThreadsMaximum Thread Priority
JDBConnectionPool
九瑞网络技术有限公司
中软
优化连接缓存
九瑞网络技术有限公司
中软
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题仍在观察中。
★
★≌龍≌★17:08:37
我重启下啊
水17:08:47
大龙,weblogic现在有用户启着呢。
水17:09:02
你看到了吗,别重复启动就行。
启吧
★≌龍≌★17:09:37
看到了,
★≌龍≌★17:10:55
我先关闭下
水17:11:38
好的
★≌龍≌★17:11:42
服务器配置挺高的啊
水17:11:47
是吗
水17:11:49
还可以
★≌龍≌★17:13:56
我调整了下,weblogic启动时最小为524m,不让直接用1024M了
★≌龍≌★17:14:18
另外环境变量path中,java_home放在最前面
★≌龍≌★17:14:25
你再看看吧
★≌龍≌★17:14:30
多观察下
★≌龍≌★17:14:56
我刚才启动的过程中报了好多错误,都看不清,有一个是table or view 不存在
★≌龍≌★17:15:04
你看看是哪个程序报的
孙井龙17:17:07
你先观察一段时间,所有系统走一次,看看还报吗
水17:20:15
不清楚您现在的情况和WebLogic的版本。
一般如果您的domain还没有建立,可以在用Configuration Wizard建domain的时候设置。
如果domain已经存在,那么如果是Window系统,可以编辑<DOMAIN_HOME>\bin\setDomainEnv.cmd,修改关于USER_MEM_ARGS的设置,比如:
set USER_MEM_ARGS=-Xms256m -Xmx1024m -XX:MaxPermSize=512m)。
如果是Linux,可以编辑<DOMAIN_HOME>/bin/setDomainEnv.sh文件,同样修改USER_MEM_ARGS设置,比如
USER_MEM_ARGS=-Xms256m -Xmx1024m -XX:MaxPermSize=512m
export USER_MEM_ARGS。