空闲线程数与队列长度通常有如下关系:
A、 如果空闲线程数>0 ,则 queue length =0 ; B、 反之,如果queue length>0 ,则空闲线程数=0 ;
?
2)Memory Usage
Memory Usage = totalMemory() – freeMemory() 内存使用曲线反应了JVM Heap内存使用的变化情况,可以结
合其他三个值的变化情况来判断server工作情况;比较理想的状态是适当频度的各种锯齿变化,
由于JVM GC多采用“stop the world”机制,也就是垃圾回收时其他处理将暂停,过度频繁的GC将明显降低server工作效率和性能表现。
5 案例
5.1 weblogic server响应慢
在系统运行中,最经常遇到的是server响应慢的情况,首先确认空闲线程数与队列值,队列值可以直接看到,但空闲线程数可能需要刷新页面才能得到当前值,可以通过两者关系判断大致情况; Idle Thread =0 ,说明此时server无空闲线程处理请求,队列中将会有请求排队;此时再看吞吐量变化情况:
1、吞吐量>0 并且与正常运行情况下的变化趋势类似,说明当前请求压力超出系统并发能力,因此,如果cpu资源富余,增加线程数;如果cpu资源紧张,应考虑增加主机容量或添加其他主机,分担压力;
2、吞吐量=0 或者有较少的变化,说明目前线程的业务处理上一定程度上出现了问题,一般是出现了挂起(server hang);此时单纯增加线程数可能缓解状况,无法解决根本问题,此时需要采用其他手段来获取线程信息(unix下使用kill -3
5.2 WTC FAQ
5.2.1 TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:No
local or remote domain available xxx服务
服务没有调到。
请检查tuxedo domain 与 weblogic domain连通 (参见WTC 连通性的简单检查方法),请检查xxx服务是否在weblogic里配置正确。是否配置了xxx服务。如果没有配
置也会报这个错误。
请检查xxx服务在tuxedo中时候存在,如果是刚注册的xxx服务,请重现发布所在的WTC服务。如果没有重新发布,也会报这个错误。
如果tuxedo 日志显示duplicate server,表示有另外一个weblogic domain 配置相同的wtc配置。也就是说 一个Tuxedo domain 对应两个相同的Weblogic domain,这种情况,也会出现这个错误,
请修改另外weblogic domain的wtc配置。(配置相同是指 远程tuxedo访问点与本地tuxedo相同)。
如果跨防火墙,请修改连接策略 都改为ON_STARTUP
5.2.2 TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo服务有问题或输入参数不正确。
5.2.3 TPESYSTEM(13):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo服务返回超过了设置的时间。优化tuxedo服务或修改时间门限。
5.2.4 TPESYSTEM(10):0:0:TPED_MINVAL(0):QMNONE(0):0
tuxedo 服务或者输入参数有问题。
5.3 其他
5.3.1 为什么页面中的图表(饼图,柱状图)和验证码等图片在
WebLogic环境中不能正常显示?
在WebLogic 启动脚本中,在${JAVA_OPTIONS}后面加入 “ -Djava.awt.headless=true “, 重新启动WebLogic Server即可。
5.3.2 修改的JSP不会立即生效怎么办?
首先检查Web Application 的 Descriptor 中 JSPPage Check Secs 是否设置为〉=0
JSPPage Check Secs 表示JSP会在设置的时间间隔内检查是否JSP页面是否更新。如果更新,则重新编译,生成相应的class 如果上述设置正确,则检查系统时间是否正确。
JSP页面是否更新是根据文件的日期时间。如果系统时间小于文件的生成时间。则不会更新。 比如 系统时间是 20040102 而文件的生成时间是 20050607,则怎么修改jsp页面都不会更新。
5.3.3 JSP里面的静态文件、include JSP 中文显示不正常,这个
问题怎么解决?
在weblogic.xml文件的
Web Application 重新部署即可。 此外,在页首加入:
<%@ pagecontentType=“text/html;charset=GBK“%>
也可以解决中文显示不正常的问题。
5.3.4 当发生JDBC连接池泄漏现象时,如何进行调试?
观察后台日志,会看到下面信息:
打开weblogic console 中 {your-pool}-- Connections -- Advanced Options 选项卡: 这样日志就打出了发生连接池泄露的代码。检查出代码后,要记住关掉这个选择。