bea\%user_projects\\domains\\mydomain下可以查看日志,如果出现关闭的连接错误,可以在配置连接池的时候设置,选中测试返回的连接和请求的连接.
如果经常出现内存溢出的问题话查看日志,如果出现Executethread: '7' for queue:'weblogic.kernel.default'
这样类似Executethread开头的可能是线程资源耗尽的问题,如果是24说明是对象锁没释放
怎样查看weblogic 目前可用的线程数 ?
console控制台上myserver-下面的Monitoring的tab-Performance 中的Idle Threads显示的数目就是(下面有)
WebLogic Server 性能及调整:
查看使用 WebLogic 8.1 线程缓冲池模型
性能查看:
调整weblogic的使用内存
修改对应的domain下面的启动脚本,比如:weblogic安装目录下对应domain的启动脚本:startWeblogic.sh,追加 Windows:
set MEM_ARGS=-Xms2045m -Xmx2560m Unix:
MEM_ARGS=\
注:Xms表示最小内存,Xmx表示最大内存。 主要内容
? 1、WebLogic服务的监控
? 2、WebLogic性能优化
? 3、UNIX操作命令介绍 WebLogic服务的监控
? WebLogic的控制台console对内存的监控
? Console --> server --> myserver --> 右边窗口Mornitoring --> Performance
WebLogic服务的监控
? Idle Threads 空闲线程数
这个值不能为0,否则意味着系统无线程可用,有死机的危险.
? Queue Length 等待队列的长度
当Idle Threads的值为0时,Queue Length会出现数值。如果Queue Length维持在较高位置,且不下降时,有死机危险。但只要值在变,就说明系统还在运行.
WebLogic服务的监控
? Memory Usage 内存的使用情况
主要看垃圾回收是否频繁,在系统高负载的情况下,内存是否能达到80-90%的使用率。
WebLogic服务的监控
? 查看线程的运行情况
线程是否都为空闲null状态。如不为空闲,看看是什么样的请求在占用线程。
Console --> server --> myserver --> 右键菜单View Execute Threads
如下图所示:
WebLogic服务的监控
? Current Request 当前线程正在处理的请求
? 被占用的线程的情况:46、48、49 占用内容:Socket Reader Request
WebLogic性能优化——内存
一般建议正式的域(Domain)设置为-Xms1024m -Xmx1024m,表示堆的初始大小和最大值都是1024M。
1、修改文件:Unix为startWebLogic.sh或startManagedWebLogic.sh(集群用);Windows系统为startWebLogic.cmd或startManagedWebLogic.cmd(集群用)。
? 2、修改位置:为保证我们修改的参数生效,最好将内存参数命令行放在启动Java虚拟机之前。示例如下: WebLogic性能优化——内存 ? export CLASSPATH
? MEM_ARGS=\-Xmx1024m -XX:NewSize=256m
-XX:MaxNewSize=256m -XX:MaxPermSize=256m\? # Call WebLogic Server ? echo \
? echo \TH=${CLASSPATH}\? echo \
? echo \TH=${PATH}\
? echo \
? echo \? echo \ To start WebLogic Server, use a username and *\? echo \ password assigned to an admin-level user. For *\? echo \ server administration, use the WebLogic Server *\
? echo \ console at http://[hostname]:[port]/console *\
? echo \
? ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} -Dweblogic.Name=${SERVER_NAME}
-Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE}
-Djava.security.policy=\WebLogic性能优化——内存
? 3、注意Unix与Windows的参数差别。AIX和Linux的参数值要加上双引号,Windows则不需要加。如该加的没加,不该加的加了,就会导致设置的参数不起作用,影响应用系统的性能。
? 4、Unix系统下参数是否生效的检查。可以使用如下命令:
ps –ef|grep java
如果设置的参数生效,在显示的结果中会看到设置的值。如没有生效,会显示weblogic缺省的值-Xms32m –Xmx200m。
WebLogic性能优化——内存
? 5、Windows下可以使用echo命令,在startWebLogic.cmd文件中查看 echo %MEM_ARGS%
会在dos窗口中输出内存设置的信息。
WebLogic性能优化——线程数
? 线程数Thread Count
weblogic服务在接收到请求后,会交给后台的线程来处理,线程数决定了并发处理能力的大小。
一般以服务器的CPU个数为基准,每个CPU可负担25个线程,最好不要超过50个
? 查看线程的运行情况,上面已经提到。
WebLogic性能优化——线程数 ? 更改线程数Thread Count
server ——> 右键菜单 ——> “View Execute Queues”项查看,如下图:
点击“default”,进入修改页面: WebLogic性能优化——线程数
? 修改了thread count的值后,要点击“应用(Apply)”按钮,并重启服务后,参数才能生效。
WebLogic性能优化——连接池
? 数据库连接池的初始连接数建议200或以上,如资源允许可设置得更大,但不能操作最大连接数,最大连接数设置800。
? Oracle的参数processes设置为1000或以上。
? 查看连接池:console->services ->Connection Pools
1、 如何给weblogic指定大小的内存?
在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增
加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M
2、 如何设定的weblogic的热启动模式(开发模式)与产品发布模式?
可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务
的启动文件或者commenv文件,增加set PRODUCTION_MODE=true。
3、 如何启动时不需输入用户名与密码?
修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在boot.properties文件中增加
加密过的用户名和密码.
4、 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或
连接池等相关信息进行配置后,实际保存在什么文件中?
保存在此Domain的config.xml文件中,它是服务器的核心配置文件。
5、 说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp
放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?
Domain目录服务器目录applications,将应用目录放在此目录下将可以作为应用访问
,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录
中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应
用将可以实现在浏览器上无需输入应用名。
6、 如何查看在weblogic中已经发布的EJB?
可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB
7、 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置
缺省安装中使用DemoIdentity.jks和DemoTrust.jks KeyStore实现SSL,需要配置服务
器使用Enable SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创
建identity和trust keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向
还是双向的。
8、在weblogic中发布ejb需涉及到哪些配置文件
不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括
ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要
weblogic-cmp-rdbms-jar.xml
9、EJB需直接实现它的业务接口或Home接口吗,请简述理由.
远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中
对应实现类会作为对应接口类型的实例被使用。
10、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服
务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢