Weblogic中间件运维经验汇总.docx
《Weblogic中间件运维经验汇总.docx》由会员分享,可在线阅读,更多相关《Weblogic中间件运维经验汇总.docx(21页珍藏版)》请在冰豆网上搜索。
Weblogic中间件运维经验汇总
Weblogic中间件运维经验汇总
关于Weblogic参数调优的运维经验2.
Weblogic性能调优的处理方法5.
关于输电项目Weblogic安装的运维经验8
Weblogic回收数据库连接数配置的方法14
在Apache和Weblogic中分别部署静态页面的方法17
WeblogicServer性能调优经验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、原因分析
在收到报警信息后,对后台日志进行查看,报错信息如下:
Exceptioninthread"CBM_正常处理任务线程"java.lang.OutOfMemoryError:
Javaheapspace
at
oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.java:
868)
atoracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:
1045)
at
oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:
839)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:
1132)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:
3316)
at
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePrepare
dStatement.java:
3361)
经过对报错日志分析,状态检修的CBM处理进程内存溢出报错,导致服务
耳口宀士仃
器宕机。
5、经验总结
内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。
为了解决Java中内存溢出问题,我们首先必须了解Java是如何管理内存的。
Java的内存管理就是对象的分配和释放问题。
在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾收集器(GarbageCollection,GC)完成的,程序员不需要通过调用GC函数来释放内存,因为不同的JVM实现者可能使用不同的算法管理GC,有的是内存使用到达一定程度时,GC才开始工作,也有定时执行的,有的是中断式执行GCo但GC只能回收无用并且不再被其它对象引用的那些对象所占用的空间。
Java的内存垃圾回收机制是从程序的主要运行对象开始检查引用链,当遍历一遍后发现没有被引用的孤立对象就作为垃圾回收。
垃圾回收可以有效的防止内存
泄露,有效的使用可以使用的内存。
6、技术人员
国网电科院苑小红
Weblogic性能调优的处理方法
报送单位:
东北公司类型:
基础应用
关键字:
Weblogic性能
1、引言
在Weblogic的配置当中,常常会遇见性能问题,这些性能问题容易延误工作的效率,因此我们就要对Weblogic进行调优。
2、现象描述
办公自动化出现“发送”卡或滞后的现象。
3、处理过程
配置:
Weblogic线程数
打开“config\config.xml”文件
部署的服务增加
vself-tuning-thread-pool-size-min>1O
e-min>
10
调整参数根据用户并发数、服务器性能进行调整
配置:
JVMMEM_ARGSParameter
打开“startManagedWebLogic.cmd”文件
增加:
setUSER_MEM_ARGS=-Xms256m-Xmx1024m,根据服务器性
能进行调整,windows平台最高支持“1792m”
setDOMR1H_HOME=Cj^cts\donJln5Xnpdoiiain
SPtUSERHEMARGS=-Xms256n-XfiiK2S6r
iF■喘T・k・・(
配置:
JDBC数据源连接缓冲池的设置
进入weblogic控制台“服务”一〉“JDBC”一〉“数据源”一〉“连接缓冲
池”
配置“初始容量”、“最大容量”,一般情况下“初始容量”、“最大容量”配置为等比例,与weblogic线程数相当
配置完成后重启weblogic对应的服务
配置:
检查配置是否生效
进入weblogic控制台“环境”一〉“服务器”一〉选择对应服务如:
“Server-BPEngine”一〉“监视”,可通过查看“线程”、“JDBC”连接数是否
正常修改
S^rv&r-BPt-ngiiw的谡蓋
配置协遽日布记录调试両1控^部爲服箸安全备注”匚
鶯也IS逍性龍绘建计时査工作员葡*±竝留JM£SAPJOKJTA
此兵卜星求了与该血肚鞍据息相吴的统计信息.或堀此贞可以监犍蚊据溥的点如
*目便文诿衷
JDBC数就源运行时竦计信慝
冠示c-ojn.-—页下-
JE奇农
話功床覆乎均节«
当甬濡功件桂计魅
程大活討井程讨雅
谖有烬要昱示射项目
4、原因分析
性能问题造成的因素有很多如:
oracle、weblogic、IO等
5、经验总结
在针对Weblogic进行调优的过程中,要注意先进行备份,先备份
“config.xml”、“startManagedWebLogic.cmd”、unix上
“startManagedWebLogic.sh”
6、技术人员
国家电网东北分部信息公司杨喜亮
关于输电项目Weblogic安装的运维经验
报送单位:
北京公司审核人:
类型:
基础应用
关键字:
WeblogicLINUX
1、引言
目前北京市电力输电公司需要将安装多套Weblogic,且安装版本、目录、及所需功能完全一样。
如按照正常方式安装则需要在每台机器进行对应有操作系统配置和Weblogic安装需要对利用字符界面进行设置,针对以上问题在该项目中Weblogic安装采用静默安装。
2、处理过程
1)安装操作系统
安装RedHat5.4x86_64操作系统。
2)进行双网卡绑定配置
首先将网卡的工作模式修改为混杂模式,这种模式下网卡可以接受网络上所有帧。
其次,配置虚拟网络接口配置文件,在文件中指定虚拟网卡的IP地址,
子网掩码,负载均衡模式等配置,最后,编辑模块文件,使在系统启动时加载bonding模式,重新启动网络服务后会有新的绑定网卡。
3)执行操作系统配置脚本如下
groupadd-g601bea
useradd-gbea-u1101-d/home/weblogicweblogic
passwdweblogic<bjsd#weblogic
bjsd#weblogic
EOF
mkdir/weblogic
chown-Rweblogic:
bea/weblogic
#sysctl
MEM_SIZE='expr\'cat/proc/meminfo|grepMemTotal|awk'{print
$2}'\'\*1024'
echo"">>/etc/sysctl.conf
echo"">>/etc/sysctl.conf
echo"#Forweblogic">>/etc/sysctl.conf
echo"kernel.shmall=2097152">>/etc/sysctl.conf
echo"kernel.shmmax=$MEM_SIZE">>/etc/sysctl.conf
echo"kernel.shmmni=4096">>/etc/sysctl.conf
echo"kernel.sem=25032000100128">>/etc/sysctl.conf
echo"fs.=65536">>/etc/sysctl.conf
echo"net.ipv4.ip_local_port_range=102465000">>
/etc/sysctl.conf
echo"net.core.rmem_default=262144">>/etc/sysctl.conf
echo"net.core.rmem_max=2097152">>/etc/sysctl.conf
echo"net.core.wmem_default=262144">>/etc/sysctl.conf
echo"net.core.wmem_max=1048576">>/etc/sysctl.confsysctl-p
#LIMIT
cat>>/etc/security/limits.conf<weblogicsoftnproc2047
weblogichardnproc16384
weblogicsoftno
weblogichardno
EOF
cat>>/etc/pam.d/login<sessionrequiredpam_limits.so
EOF
cat>>/etc/profile<if[\$USER="weblogic"];then
if[\$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
if
umask022
if
EOF
以上脚本会自动创建weblogic用户、对操作系统进行内核参数及limit调整。
4)上传安装介质
在操作系统RedHat5.4x86_64上需要安装以下软件:
Weblogic软件包:
server103_generic.jar
JDK软件包:
jdk-6u25-linux-x64.bin
上传静默安装配置
5)上传静默安装配置脚本
将silent.xml上传至和server103_generic.jar相同目录
xmlversion="1.0"encoding="UTF-8"?
>
6)执行安装Weblogic脚本
su-weblogic
MEDIA_HOME=/home/weblogic/soft
chmodu+x$MEDIA_HOME/jdk-6u25-linux-x64.bin
cd/weblogic/
$MEDIA_HOME/jdk-6u25-linux-x64.bin<EOF
echo"exportJAVA_HOME=/weblogic/jdk1.6.0_25">>
/home/weblogic/.bash_pro"exportCLASS_PATH=\$JAVA_HOME/lib:
\$CL
ASS_PATH:
.">>
/home/weblogic/.bash_pro"exportPATH=\$JAVA_HOME/bin:
\$PATH:
.">>/home/weblogic/.bash_pro
su-weblogic
MEDIA_HOME=/home/weblogic/soft
cd$MEDIA_HOME
java-jarserver103_generic.jar-mode=silent-silent.xml=silent.xml
-log=silent.log
rm-rf$MEDIA_HOME
以上脚本会自动安装jdk,并进行java环境变量的配置。
在配置完成后进行
weblogic的静默安装。
5)对主机及数据库进行安全加固
对主机安全加固:
密码策略:
默认权限UMASK
空闲超时
关闭多余服务
锁定多余账户
禁止root远程登陆
禁止非管理员用户,切换到root用户
防止组合键关机
屏蔽banner信息
对数据库安全加固:
3、经验总结
在本次安装中采用了shell脚本方式对操作系统进行相应的配置。
在安装Weblogic时使用Weblogic静默响应脚本直接配置安装参数,可以更加方便直观的对其安装参数进行配置,方便安装参数的调整。
在以后的Weblogic安装中可以直接使用该脚本进行安装,减少配置操作系统参数的复杂程度,从而减小出现问题的概率,以及节约更多的时间。
4、技术人员
王嘉欣
Weblogic回收数据库连接数配置的方法
报送单位:
河北公司审核人:
康之增
类型:
业务应用
关键字:
Weblogic、数据库连接
1、引言
在信息运维工作中发现,由于部分应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造成Weblogic数据库连接池益处,影响系统的稳定运行。
其实Weblogic提供了数据库连接的回收机制,可以将超过配置时间没有活动的数据库连接进行强制回收。
2、现象描述
应用系统的数据库连接数设置明显比预测的值要高,但还是出现数据库连接数不足的问题
vReachedmaximumcapacityofpool"JDBC-YCPX",
making"0"newresourceinstancesinsteadof"200".>
3、处理过程
修改JDBC高级配置参数:
ConfigurationConnection
PoolAdvaneed
IfB-acliiwo-CoiinqcUatn|q
TliiaeouL:
1
此参数的含义为:
保留连接处于不活动状态的时间(单位:
S),设置的时间
过后WebLogic将强制收回未由应用程序关闭的连接。
请注意,不能使用此功能来代替正常关闭连接。
如果设置为0,此功能将被禁用。
建议修改参数值为300(5分钟后,如果当前连接仍然处于不活动状态,此
连接将会收回)
4、原因分析
应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造
成Weblogic数据库连接池益处,影响系统的稳定运行。
5、经验总结
解决数据库连接数不足的问题,可以增加数据库连接数配置,但通过应用系
统登录人数预测,数据库连接数配置可以满足业务需求的情况下,如果还是出现
数据库连接数不足的问题,应该确定应用系统的代码存在没有及时回收数据库连接的问题,可以配置通过Weblogic强制回收数据库连接。
Weblogic数据库连接配置注意一下方面:
1)设置连接池容量的初始值等于最大值,减少新建连接的开销。
2)开启WebLogic强制回收连接。
InactiveConnectionTimeout(一定
时间后强制收回连接)参数。
3)当数据库不稳定时,可打开TestReservedConnections高级参数。
6技术人员
河北省电力公司信息中心
姚喜亮5
在Apache和Weblogic中分别部署静态页面的方法
报送单位:
北京公司审核人:
类型:
业务应用
关键字:
WeblogicApache
1、引言
目前北京市电力公司在部署应用时使用Weblogic中间件做为应用服务器,在应用中有很多页面属于静态页面,本次测试具体分析将应用部署在Weblogic上Apache只做代理和不仅让Apache做前端代理服务器,而且将静态页面部署在Apache里,动态页面部署在Weblogic里的区别,得出在不同情况下部署web应用的最佳实践方法。
2、现象描述
两种方式的区别:
方式一是将所有请求都由Apache转发到指定的Weblogic服务器。
方式二实现了动态页面和静态页面分开,当客户端请求静态页面时,直接使用Apache处理请求并返回给客户端,而客户端请求动态页面时,由Apache转发到指定的Weblogic服务器。
3、处理过程
通过测试这两种不同的部署方式来找出详细的区别,首先在分别在
Weblogic和Apache中分别部署同样的静态页面,通过Apache代理访问。
测试目的:
通过测试CPU占用率,进行对比。
测试并发量:
100
请求页面信息:
html页面,10个jpg图片,总大小1.35M。
测试结果对比:
部署方式:
方式一
方式二
CPU占用率:
保持在95%以上。
60%-70%之间。
占用率很高
占用率一般
响应最小时间:
0.109ms
0.066ms
响应最大时间:
10.156ms
8.688ms
响应平均时间:
4.746ms
3.317ms
平均每秒点击率:
220.566次
321.672次
测试总结:
Weblogic处理静态页面,CPU占用率高,会加重服务器负担。
如
果用Apache代理服务器处理静态页面,静态页面和动态页面分开处理,
Weblogic不参与静态页面的处理,如果客户端不访问动态页面,Weblogic则
不提供服务,能充分减轻服务器压力。
采用Apache处理静态页面的的时间一般都比Weblogic处理静态页面的时间快,且Apache服务器在浏览器刷新的基础上采用的是304状态码的响应,能节省服务器,优势比较明显。
4、经验总结
通过对CPU占用率测网页数据量以及时间和状态码的分析,都能看出使用
Apache做Weblogic的前端代理,把静态页面部署在Apache中优势很明显,方式二的部署方式是正确可行的。
如果启用apache压缩传输,会减少数据传输量,有效减少流量,但是压缩时,占用CPU提高。
如果硬件设备达不到要求,建议不启用。
在以后部署时可以将部分静态页面转到apache以提高整体应用的
性能
5、技术人员
WeblogicServer性能调优经验
报送单位:
国网信通公司审核人:
王蕊
类型:
主机网络
关键字:
Weblogic、调优
1、引言
WebLogic是一款典型的应用服务平台,应用比较广泛。
其参数设置和优化对系统承载能力和服务能力十分重要。
主要讨论WeblogicServer性能调优方法和经验,供技术人员参考。
2、处理过程
WebLogicServer的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。
当服务器由监听线程接收到连接请求后,将对它的连接控制权交给
等待接收请求的套接字复用器。
然后套接字复用器读取离开套接字的请求,并将
此请求及相关安全信息或事务处理环境一起置入适当的执行队列中(一般为默认
的执行队列)。
当有一个请求出现在执行队列中时,就会有一个空闲的执行线程从该队列中取走发来的该请求,并返回应答,然后等待下一次请求。
因此要提高WebLogic的性能,就必须从调整核心组件性能出发。
1)尽量使用本地I/O库
WebLogicServer有两套套接字复用器:
Java版和本地库。
采用小型本地
库更有效,尽量激活EnableNativeIO(默认),此时UNIX默认使用CPUs+1个线程,Window下为双倍CPU。
如果系统不能加载本地库,将会抛出java.lang.UnsatisfiedLinkException,此时只能使用Java套接字复用器,可以调整socketreaders百分比,默认为33%。
该参数可以在ConsoleServerTuningConfiguration配置栏里设置。
2)调整默认执行线程数
理想的默认执行线程数是由多方面的因素决定的,比如机器CPU性能、总线体系架构、I/O、操作系统的进程调度机制、JVM的线程调度机制。
WebLogic生产环境下默认的线程为25个,随着CPU个数的增加,WebLogic可以近乎线性地提高线程数。
线程数越多,花费在线程切换的时间也就越多,线程数越小,CPU
可能无法得到充分利用。
为获取一个理想的线程数,需要经过反复的测试。
在测试中,可以以25*CPUs为基准进行调整。
当空闲线程较少,CPU利用率比较低时,可以适当增加线程数的大小(每五个递增)。
对于PCServer和Window2000,则最好每个CPU小于50个线程,以CPU利用率为90%左右为佳。
由于目前