WebLogic - Server配置和性能调优

更新时间:2024-04-23 19:29:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

WebLogic Server配置和性能调优

文档信息

文档名称 电子文档 文件状态 编 写 人 校 对 人 审 核 人 批 准 人 ■ 草 稿 □ 正式发布 □ 正在修改 日 期 日 期 日 期 日 期 年 月 日 年 月 日 年 月 日 年 月 日

变更记录

变更序号 变更原因 变更变更前变更后页码 版本号 版本号 更改人 批准人 生效日期 备 注

第 2 页 共 28 页

目 录

1 准备知识 ...................................................................................................................... 5

1.1 基本概念 ............................................................................................................ 5 1.2 环境说明 ............................................................................................................ 6 2 配置篇 .......................................................................................................................... 7

2.1 WEBLOGIC SERVER 配置 ................................................................................... 7

2.1.1 创建Standalone Server Domain ............................................................. 7 2.1.2 创建Standalone Server Domain ........................................................... 13 2.2 WTC 配置 ........................................................................................................ 15

2.2.1 Tuxedo 配置 .......................................................................................... 15 2.2.2 WebLogic 配置 ...................................................................................... 16 2.2.3 WTC连通性的简单检查方法 ............................................................... 18 2.3 JDBC配置 ........................................................................................................ 19 3 性能调优篇 ................................................................................................................ 20

3.1 JVM调优 ......................................................................................................... 20 3.2 WEBLOGIC SERVER调优 .................................................................................. 21

3.2.1 尽量使用本地IO库 ............................................................................. 21 3.2.2 调整默认执行线程数 ........................................................................... 21 3.3 JDBC调优 ........................................................................................................ 22

3.3.1 驱动程序类型选择 ............................................................................... 22 3.3.2 调节连接池初始容量和最大容量 ....................................................... 23 3.3.3 其他配置 ............................................................................................... 23 3.4 WEB调优 ........................................................................................................ 24

3.4.1 调整WEB应用描述符 ......................................................................... 24 3.5 其他调优设置 .................................................................................................. 24

3.5.1 WebLogic文件描述符大小调整 ........................................................... 24

第 3 页 共 28 页

4 FAQ篇 ........................................................................................................................ 26

4.1 WTC FAQ ......................................................................................................... 26

4.1.1 TPENOENT(6):0:0:TPED_MINVAL(0):QMNONE(0):0:No local or remote domain available xxx服务 ....................................................................... 26

4.1.2 TPESYSTEM(12):0:0:TPED_MINVAL(0):QMNONE(0):0 ................... 26 4.1.3 TPESYSTEM(13):0:0:TPED_MINVAL(0):QMNONE(0):0 ................... 26 4.1.4 TPESYSTEM(10):0:0:TPED_MINVAL(0):QMNONE(0):0 ................... 27 4.2 其他 .................................................................................................................. 27

4.2.1 为什么页面中的图表(饼图,柱状图)和验证码等图片在WebLogic

环境中不能正常显示? ......................................................................................... 27

4.2.2 修改的JSP不会立即生效怎么办? ..................................................... 27 4.2.3 JSP里面的静态文件、include JSP 中文显示不正常,这个问题怎么解决? ..................................................................................................................... 27

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

第 4 页 共 28 页

1 准备知识

1.1 基本概念

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

Domain的类型:

? Standalone Server Domain

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

? Admin Server with Managed Servers

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

? Domain with Managed Servers and Clusters 具有更高性能的商业运行环境。

Server 是一个相对独立的,为实现某些特定功能而结合在一起的单元。 Machine 是一台运行一个或多个Weblogic Server实例的主机.

Clustering :WebLogic集群技术指通过一组服务器共同工作,在多台机器间复制应用表示层和应用逻辑层的能力,实现关键业务系统的负载分布,消除个别故障点。 集群用来实现负载均衡和容错

第 5 页 共 28 页

1.2 环境说明

属性名称 BEA产品 OS SDK WebLogic Server 8.1 SP5 AIX Version 5 java version \Java(TM) Environment, (build 1.4.2) Classic VM (build 1.4.2, J2RE 1.4.2 IBM AIX (SR3) build (JIT ca142-20050929a enabled: jitc))

2 Standard Runtime Edition

第 6 页 共 28 页

2 配置篇

2.1 WebLogic Server 配置

进入{WL_HOME}/weblogic81/common/bin/,执行config.sh

2.1.1 创建Standalone Server Domain

Step A- 1:

第 7 页 共 28 页

Step A-2:

Step A-3:选择非向导模式(express mode).

Step A-4:在图4界面,可以配置Server名称,监听端口等信息. 注意:配置的监听端口一定是未用状态才可以。

第 8 页 共 28 页

Step A-5:是否进行管理Server、集群和机器(machines)配置,选择否,按’Enter’键继续

Step A-6:

Step A-7:

第 9 页 共 28 页

Step A-8: 输入[1]回车,即修改当前输入的用户名,默认用户名为weblogic,提示输入一个当前域管理的新的用户名,

输入好后回车,例如weblogic,如下图,继续操作,输入[2]设置这个用户的密码

Step A-9:输入八位密码

Step A-10:

第 10 页 共 28 页

Step A-11:

Step A-12:

Step A-13:选择Domain运行模式,开发环境我们选择”1|开发模式”,生产环境我们选择”2|生产模式”.

Step A-14:选择JDK

第 11 页 共 28 页

Step A-15:

Step A-16:输入domain路径

Step A-17:输入domain名称

Step A-18:

Step A-19:domain创建成功

第 12 页 共 28 页

2.1.2 创建Standalone Server Domain

在配置standalone Server Domain 的 Step A-5 ”Managed Servers,Clusters and Machines”选项,配置 Managed Server.

Step B-6:

Step B-7: 输入Managed Server名称,以及监听端口号

Step B-8:

第 13 页 共 28 页

Step B-9:继续配置managed server,输入p,按’Enter’继续

Step B-10:重复Step B-7,Step B-8

Step B-11:managed Server配置完毕,按照Step A-6 ---- Step A-19进行WebLogic 其他配置。

第 14 页 共 28 页

2.2 WTC 配置

TUXEDO与WEBLOGIC之间通过DOMAIN方式实现互相调用,文档中如果没有特殊申明:

TUXEDO所在的DOMAIN名为 TDOM1 。 TDOM1 Network Address ://172.16.24.105:17012 WEBLOGIC所在的 DOMAIN名为WDOM1。 WDOM1 Network Address://172.16.24.105:17011 TDOM1上有一个TUXEDO SERVEICE sPubSelect。

注:TDOM1、WDOM1 network address的端口号一定是没有占用的, 端口号要大于1024。

2.2.1 Tuxedo 配置

? 修改DMCONFIG文件

DM_REMOTE_DOMAINS段中加入

WDOM1 TYPE=TDOMAIN DOMAINID=\

? DM_TDOMAIN段中加入

TDOM1 NWADDR=\WDOM1 NWADDR=\

? dmloadcf /loaddm DMCONFIG ? stop TUXEDO , start TUXEDO

第 15 页 共 28 页

2.2.2 WebLogic 配置

通过 WebLogic控制台配置 WTC。

? 创建WTC 服务: 在 Administration Console 屏中 , 部署

Services 节点并单击 WTC 。将显示 WTC Services 屏。单击 Configure a New WTC Service 超链接。新显示的屏包括两个文本域: WTC 服务的名字和它的部署优先权顺序。单击 Create 按钮来新建一个 WTC 服务。

? 创建Tuxedo本地访问点: 单击该服务页的“ Content ”选项卡,

并在新显示的页面中单击“ Local Aps ”选项卡。要创建新的本地访问点,单击“ Configure a New Local Tuxedo Access Point ”超链接。在 Tuxedo 本地访问点的“ General ”选项卡中,填写域“ Access Point ”、“ Access Point ID ”和“ Network Address ”。其中第一个域是用户选择名,第二个和第三个域必须与 DOMCONFIG 配置文件的 DM_TDOMAIN 段相关联。一般第一个域与第二个域所填的值都相同

? 创建远程 Tuxedo 访问点。 单击该服务页的“ Contents ”选项卡,

并在新显示的页面中单击“ Remote Aps ”选项卡。要创建新的 Tuxedo 远程访问点,单击“ Configure a New Remote Tuxedo Access Point ”超链接。在 Tuxedo 远程访问点的“ General ”选项卡中,填写域“ Access Point ”、“ Access Point ID ”、“ Local Access

第 16 页 共 28 页

Point ”和“ Network Address ”。其中第一个域是用户选择名,第二个和第四个域必须与 DOMCONFIG 配置文件的 DM_TDOMAIN 段相关联。第三个域必须是我们在先前步骤中所选择的本地 访问点名。在同一屏的“ Connections ”选项卡中的默认域值对于大多数情况都是适用的。一般第一个域与第二个域所填的值都相同

? 导入服务:单击该服务页的“ Contents ”选项卡,并在新显示的页

面中单击“ Imported ”选项卡。要导入 WTC 服务,单击“ Configure a New Imported Service ”超链接。在“ General ”选项卡中,“ Resource name ”域 用户选择名(这个名webLogic自己用的,可以与Remote Name 不一样)。第二个和第三个域分别是先前定义的本地和远程 Tuxedo 访问点。最后 ,“ Remote name ”域 必须是Tuxedo中存在的服务。

? 重新部署:新注册的WTC服务只有在Server重新发布有才会生

第 17 页 共 28 页

效。点击“Target and Deploy”选项卡,首先选择”None“单选按钮,点击’Apply’;然后选择Server”实例名称”按钮,点击”Apply”,WTC服务发布生效。

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

? 确认DMCONFIG配置无问题,比如tab键分割,而不是空格之类

的错误,load是否成功,重新dmloadcf /loaddm一下 ? 查看域连接情况

>dmadmin

# 连接一个远程的domain > co -d TDOM1 -R WDOM1

Operation completed successfully. Use printdomain(pd) to obtain results.

# 查看TDOM的远程domain列表

> pd -d TDOM1

Local domain :TDOM1 Connected domains: Domainid: WDOM1

? 检查TUXEDO配置情况,

查看UBBCONFIG关于domains配置情况,如所在的group,本例为WTCGRP_SXBOSS;检查TUXEDO配置情况,查看UBBCONFIG关于domains配置情况,如所在的group,本例为

第 18 页 共 28 页

WTCGRP_SXBOSS >tmadmin

> psc -g WTCGRP_SXBOSS

Service Name Routine Name Prog Name Grp Name ID Machine # Done Status

------------ ------------ --------- -------- -- ------- ------ ------ DMADMIN DMADMIN DMADM WTCGR+ 1 SXBOSS 0 AVAIL

TDOM1 GWS GWADM WTCGR+ 2 SXBOSS 0 AVAIL 尤其要注意是否存在 GWTDOMAIN

确认远程的domain的service是否在上述列表中,如果没有,则调用失败

? 启动/停止整个group

tmshutdown -g WTCGRP_SXBOSS;tmboot -g WTCGRP_SXBOSS # 虽然DMADM 与 GWADM/GWTDOMAIN 放在一起,但是在整个tuxedo server中 DMADM是唯一的; GWADM/GWTDOMAIN

可以有多对,多个group.

也可以启停其中GWADM/GWTDOMAIN任意一个: 指定server id的形式 tmshutdown -i 2;tmboot -i 3;

2.3 JDBC配置

第 19 页 共 28 页

3 性能调优篇

3.1 JVM调优

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

? commEnv.sh中设置

需要在WebLogic Server的启动脚本中,指定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\

WebLogic Server启动脚本中:

${JAVA_HOME}/bin/java -D9001 ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS}

-Dweblogic.Name=${SERVER_NAME}

-Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE}

第 20 页 共 28 页

3.2 WebLogic Server调优

3.2.1 尽量使用本地IO库

WebLogic Server有两套套接字复用器:Java版和本地库。采用小型本地库更有效,尽量激活Enable Native IO(默认),此时UNIX默认使用CPUs+1个线程,Window下为双倍CPU。如果系统不能加载本地库,将会抛出java.lang.UnsatisfiedLinkException,此时只能使用Java套接字复用器,可以调整socket readers 百分比,默认为33%。该参数可以在Console Server Tuning Configuration配置栏里设置,配置完,重新启动WebLogic Server即可。

3.2.2 调整默认执行线程数

名称 Execute Queues 开发模式 默认的执行线程为15 产品模式 默认的执行线程为25 推荐个数 200 在管理控制台修改默认执行队列线程数的步骤如下:

? 如果管理服务器没有运行,先启动。 ? 访问管理控制台。

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

第 21 页 共 28 页

? 右击Server,在弹出菜单中选择View Execute Queues ,就会在右

边面板显示有执行队列的表用来修改。 ? 注意:你只能修改默认的执行队列或者用户定义的执行队列。 ? 在Name列,直接点击默认执行队列名称,显示配置标签用来修

改执行队列数。 ? 填下适当的线程数。

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

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

3.3 JDBC调优

3.3.1 驱动程序类型选择

Oracle提供thin驱动和oci驱动,从性能上来讲,oci驱动强于thin驱动,特别是大数据量的操作。但在简单的数据库操作中,性能相差不大,随着thin驱动的不断

第 22 页 共 28 页

改进,这一弱势将得到弥补。而thin驱动的移植性明显强于oci驱动。所以在通常情况下建议使用thin驱动

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

JDBC Connection Pool的调优受制于WebLogic Server线程数的设置和数据库进程数,游标的大小。通常我们在一个线程中使用一个连接,所以连接数并不是越多越好,为避免两边的资源消耗,建议设置连接池的最大值等于或者略小于线程数。同时为了减少新建连接的开销,将最小值和最大值设为一致;值等于WebLogic Server的执行线程数。

3.3.3 其他配置

尽管JDBC Connection Pool提供了很多高级参数,在开发模式下比较有用,但大部分在生产环境下不需调整。这里建议最好不要设置测试表, 同时Test Reserved Connections和Test Released Connections也无需勾上。 当然如果你的数据库不稳定,时断时续,你就可能需要上述的参数打开

第 23 页 共 28 页

3.4 WEB调优

3.4.1 调整WEB应用描述符

WEB应用除代码之外的调优比较简单,仅仅是对一些WEB应用描述符的调整。首先关闭Session Monitoring Enabled,仅仅在Cluster环境下设置Session复制(优先使用内存复制),在保证应用正常运行的情况下,设置较短的Session超时时间。 同时生产环境下无需检查Jsp和servlet:JSPPage Check Secs和Servlet Reload Check Secs均设为-1,关闭JSP Keep Generated 和JSP Verbose对性能也有帮助。此外,还可以对jsp进行预编译,有两种方法:激活precompile选项;使用weblogic.appc事先编译,建议采用后者。

3.5 其他调优设置

3.5.1 WebLogic文件描述符大小调整

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

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

第 24 页 共 28 页

第 25 页 共 28 页

4 FAQ篇

4.1 WTC FAQ

4.1.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

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

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

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

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

第 26 页 共 28 页

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

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

4.2 其他

4.2.1 为什么页面中的图表(饼图,柱状图)和验证码等图片在

WebLogic环境中不能正常显示?

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

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

首先检查Web Application 的 Descriptor 中 JSPPage Check Secs 是否设置为〉=0

JSPPage Check Secs 表示JSP会在设置的时间间隔内检查是否JSP页面是否更新。如果更新,则重新编译,生成相应的class 如果上述设置正确,则检查系统时间是否正确。

JSP页面是否更新是根据文件的日期时间。如果系统时间小于文件的生成时间。则不会更新。 比如 系统时间是 20040102 而文件的生成时间是 20050607,则怎么修改jsp页面都不会更新。

4.2.3 JSP里面的静态文件、include JSP 中文显示不正常,这个

问题怎么解决?

在weblogic.xml文件的部分加入

第 27 页 共 28 页

compilerSupportsEncoding true

encoding GBK

Web Application 重新部署即可。 此外,在页首加入:

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

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

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

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

<> <>

打开weblogic console 中 {your-pool}-- Connections -- Advanced Options 选项卡:

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

第 28 页 共 28 页

本文来源:https://www.bwwdw.com/article/8x8p.html

Top