配色: 字号:
weblogic配置和性能调优V10.3
2022-09-15 | 阅:  转:  |  分享 
  






WebLogicServer配置和性能调优







目录

1准备知识 5

1.1基本概念 5

1.2环境说明 6

2配置篇 7

2.1WebLogicServer配置 7

2.1.1创建StandaloneServerDomain 7

2.1.2创建StandaloneServerDomain 13

2.2WTC配置 15

2.2.1Tuxedo配置 15

2.2.2WebLogic配置 16

2.2.3WTC连通性的简单检查方法 18

2.3JDBC配置 20

3性能调优篇 21

3.1JVM调优 21

3.2WebLogicServer调优 22

3.2.1尽量使用本地IO库 22

3.2.2调整默认执行线程数 22

3.3JDBC调优 24

3.3.1驱动程序类型选择 24

3.3.2调节连接池初始容量和最大容量 24

3.3.3其他配置 25

3.4WEB调优 25

3.4.1调整WEB应用描述符 25

3.5其他调优设置 26

3.5.1WebLogic文件描述符大小调整 26

4FAQ篇 27

4.1WTCFAQ 27

4.1.1TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Nolocalorremotedomainavailablexxx服务 27

4.1.2TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0 27

4.1.3TPESYSTEM(13):0:0:TPED_MINVAL(0):QMNONE(0):0 28

4.1.4TPESYSTEM(10):0:0:TPED_MINVAL(0):QMNONE(0):0 28

4.2其他 28

4.2.1为什么页面中的图表(饼图,柱状图)和验证码等图片在WebLogic环境中不能正常显示? 28

4.2.2修改的JSP不会立即生效怎么办? 28

4.2.3JSP里面的静态文件、includeJSP中文显示不正常,这个问题怎么解决? 29

4.2.4当发生JDBC连接池泄漏现象时,如何进行调试? 29

准备知识

基本概念

Domain是WebLogicServer实例的基本管理单元。更详细的解说应该是,所谓Domain就是,由配置为AdministratServer的WebLogicServer实例管理逻辑单元,这个单元是有所有相关资源的集合omain的类型:

StandaloneServerDomain

它主要是用来发布单一的应用程序,由单一WebLogicServer组成并且由它来负责web应用程序的运行。AdminServerwithManagedServers

这是一个最简单的企业运行环境。它可以发布多个Server实例去负责web应用程序的运行,由其中的一个AdministrationServer负责管理功能。DomainwithManagedServersandClusters

具有更高性能的商业运行环境。Server是一个相对独立的,为实现某些特定功能而结合在一起的单元Clustering:WebLogic集群技术指通过一组服务器共同工作,在多台机器间复制应用表示层和应用逻辑层的能力,实现关键业务系统的负载分布,消除个别故障点。集群用来实现负载均衡和容错

环境说明

属性名称 BEA产品 WebLogicServer

8.1SP5 OS AIXVersion5 SDK javaversion"1.4.2"

Java(TM)2RuntimeEnvironment,StandardEdition(build1.4.2)

ClassicVM(build1.4.2,J2RE1.4.2IBMAIXbuildca142-20050929a(SR3)(JITenabled:jitc))

性能调优篇

JVM调优

为提高高性能的吞吐量,应该把Java堆的最小值与最大值设为相等。而为了防止内存溢出等情况的发生,需要把Java堆的大小调整成合适的值;下面是设置Java堆的大小的方法:

commEnv.sh中设置

需要在WebLogicServer的启动脚本中,指定JAVA_VENDOR变量的值

JAVA_VENDOR=”Sun”

MEM_ARGS=“MEM_ARGS="-Xms1536m-Xmx1536m-XX:PermSize=128m-XX:MaxPermSize=256m"”

WebLogic的启动脚本中设置(startWebLogic.sh)

MEM_ARGS赋值:

例:

MEM_ARGS=“MEM_ARGS="-Xms1536m-Xmx1536m-XX:PermSize=128m-XX:MaxPermSize=256m"”

WebLogicServer启动脚本中:

${JAVA_HOME}/bin/java-D9001${JAVA_VM}${MEM_ARGS}${JAVA_OPTIONS}-Dweblogic.Name=${SERVER_NAME}-Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE}



WebLogicServer调优

尽量使用本地IO库

WebLogicServer有两套套接字复用器:Java版和本地库。采用小型本地库更有效,尽量激活EnableNativeIO(默认),此时UNIX默认使用CPUs+1个线程,Window下为双倍CPU。如果系统不能加载本地库,将会抛出java.lang.UnsatisfiedLinkException,此时只能使用Java套接字复用器,可以调整socketreaders百分比,默认为33%。该参数可以在ConsoleServerTuningConfiguration配置栏里设置 开发模式 产品模式 推荐个数 ExecuteQueues 默认的执行线程为15 默认的执行线程为25 200 在管理控制台修改默认执行队列线程数的步骤如下:

如果管理服务器没有运行,先启动。

访问管理控制台。

展开左边面板的Servers节点,显示Server列表。

右击Server,在弹出菜单中选择ViewExecuteQueues,就会在右边面板显示有执行队列的表用来修改。

注意:你只能修改默认的执行队列或者用户定义的执行队列。

在Name列,直接点击默认执行队列名称,显示配置标签用来修改执行队列数。

填下适当的线程数。

点击Apply,保存刚才的修改。



重启Server,使新的执行队列设置生效。



JDBC调优

驱动程序类型选择

Oracle提供thin驱动和oci驱动,从性能上来讲,oci驱动强于thin驱动,特别是大数据量的操作。但在简单的数据库操作中,性能相差不大,随着thin驱动的不断改进,这一弱势将得到弥补。而thin驱动的移植性明显强于oci驱动。所以在通常情况下建议使用thin驱动JDBCConnectionPool的调优受制于WebLogicServer线程数的设置和数据库进程数,游标的大小。通常我们在一个线程中使用一个连接,所以连接数并不是越多越好,为避免两边的资源消耗,建议设置连接池的最大值等于或者略小于线程数。同时为了减少新建连接的开销,将最小值和最大值设为一致尽管JDBCConnectionPool提供了很多高级参数,在开发模式下比较有用,但大部分在生产环境下不需调整。这里建议最好不要设置测试表,同时TestReservedConnections和TestReleasedConnections也无需勾上。当然如果你的数据库不稳定,时断时续,你就可能需要上述的参数打



其他调优设置

WebLogic文件描述符大小调整

首先设置WEB主机系统的ulimit参数为unlimited,然后设置WebLogic中文件描述符的大小。

在{WL_HOME}/bea/weblogic/common/bin中打开文件commEnv.sh,修改设置文件描述符大小的指令,将默认的:ulimit–n1024修改为:ulimit–n8192



FAQ篇

WTCFAQ

TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:Nolocalorremotedomainavailablexxx服务

服务没有调到。

请检查tuxedodomain与weblogicdomain连通(参见WTC连通性的简单检查方法),请检查xxx服务是否在weblogic里配置正确。是否配置了xxx服务。如果没有配置也会报这个错误。

请检查xxx服务在tuxedo中时候存在,如果是刚注册的xxx服务,请重现发布所在的WTC服务。如果没有重新发布,也会报这个错误。

如果tuxedo日志显示duplicateserver,表示有另外一个weblogicdomain配置相同的wtc配置。也就是说一个Tuxedodomain对应两个相同的Weblogicdomain,这种情况,也会出现这个错误,

请修改另外weblogicdomain的wtc配置。(配置相同是指远程tuxedo访问点与本地tuxedo相同)。

如果跨防火墙,请修改连接策略都改为ON_STARTUP

TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0

tuxedo服务有问题或输入参数不正确。

TPESYSTEM(13):0:0:TPED_MINVAL(0):QMNONE(0):0

tuxedo服务返回超过了设置的时间。优化tuxedo服务或修改时间门限。

TPESYSTEM(10):0:0:TPED_MINVAL(0):QMNONE(0):0

tuxedo服务或者输入参数有问题。

其他

为什么页面中的图表(饼图,柱状图)和验证码等图片在WebLogic环境中不能正常显示?

在WebLogic启动脚本中,在${JAVA_OPTIONS}后面加入“-Djava.awt.headless=true“



compilerSupportsEncoding

true





encoding

GBK





WebApplication重新部署即可。

此外,在页首加入:

<%@pagecontentType=“text/html;charset=GBK“%>

也可以解决中文显示不正常的问题。

当发生JDBC连接池泄漏现象时,如何进行调试?

观察后台日志,会看到下面信息:

<><>
打开weblogicconsole中{your-pool}--Connections?--AdvancedOptions选项卡:



这样日志就打出了发生连接池泄露的代码。检查出代码后,要记住关掉这个选择。





















魁魁语录:weblogic在手,谁与争锋

1





江湖一哥版权所有















献花(0)
+1
(本文系王守奎的图...原创)