文档库 最新最全的文档下载
当前位置:文档库 › weblogic数据源优化调整记录

weblogic数据源优化调整记录

weblogic数据源优化调整记录
weblogic数据源优化调整记录

一:解决数据源一段时间后不可用问题前的观察和分析:

1.1.开始时连接池各项属性的配置信息:

初始容量

: 要在创建连接池时创建的物理连接数。更多信息...

最大容量

: 此连接池可容纳的最大物理连接数。更多信息...

容量增长

: 将新连接添加到连接池时创建的连接数。更多信息...

语句高速缓存类型

: 用于维护存储在语句高速缓存中的预定义语句的算法。更多信息...

语句高速缓存大小

存储在高速缓存中的预定义语句和可调用语句的数量。(这样可能会提高服务器性能。)更多信息...

高级

保留时测试连接使 WebLogic Server 能够在将连接提供给客户机之前对连接进行测试。(要求指定“测试表名称”。)更多信息...

测试频率

: WebLogic Server 对未用连接进行测试的间隔秒数。(要求指定“测试表名称”。) 未通过测试的连接将被关闭, 然后将它们重新打开以重新建立有效的物理连接。如果测试再次失败, 则此连接将被关闭。更多信息...

测试表名称:

测试物理数据库连接时使用的数据库

表名。指定“测试频率”和启用“测试

保留的连接数”时需要此名称。更多信

息...

信任空闲池连接的秒数

: 在将连接传送到应用程序之前或定期连接测试过程期间, WebLogic Server

相信连接仍然有效并将跳过连接测试时使用连接的秒数。更多信息...

收缩频率

:

在收缩为满足需要而增大了的连接池前需等待的秒数。更多信息...

初始化

SQL:

要执行用于初始化新建物理数据库连接的 SQL 语句。以 SQL 后跟一个空格作为语句的开头。更多信息... 重试创建连接的频率

:

建立数据库连接尝试的间隔秒数。更多

信息...

登录延迟

:

创建每个物理数据库连接前的延迟秒数。此延迟支持不能快速连续处理多个

连接请求的数据库服务器。更多信息...

非活动连接超时

:

保留连接处于不活动状态的秒数, 该时间过后 WebLogic Server 将收回该

连接并将其释放回连接池。更多信息...

最大等待连接数

: 等待保留数据源的连接池中的连接时会阻塞线程的最大并发连接请求数。更多信息...

连接保留超时

:

保留连接池中的连接的调用超时之前经过的秒数。更多信息...

语句超时

:

连接池配置信息重要修改点:

1.

初始容量

最大容量

容量增长

调整此参数是为了提升数据源的性能,在数据源创建之初,直接创建60个可用的数据库链

接,以防止在oracle服务器端在一个数据库实例zmddb下,默认提供最大150个数据库链接可供使用,而由于在同一个zmddb数据库实例下,我们有两个用户zmdswoa和zmdswbgscms,也就是说假如zmdswbgscms应用程序使用了140个数据库链接,并且没有得到合理的释放,那么zmdswoa应用程序所使用的数据源中即使配置了60个最大容量的数据库链接,但是,初始容量为1,那么也就是需要时才创建新的数据库链接放入数据源的池中,那么如果oracle服务端,已经没有可用的数据库连接了,zmdswoa对应的数据源将无法创建可用链接。所以,初始容量和最大容量根据zmdswoa的实际情况,直接设置为60,一开始创建数据源时就占用60个,最大限度的保证了zmdswoa应用程序中数据库链接的可用链接数量,防止受到其他同一个zmddb数据库实例下其他用户zmdswbgscms的可用数据库链接竞争。

至于容量增长:由1调整至5,是为了增加并发性,因为创建数据库链接需要有一定的延迟,如果增大这个数字,会在并发情况下,增强获得数据库连接的可靠性和速度,获得更好的性能。

1.

重试创建连接的频率

调整此参数是为了在连接池自动加载或维护时,如果在一定时间内不断的重新创建正确的可用的数据库链接,30秒来限定创建连接的超时时间,也就是30秒之内,会不断的尝试创建正确的可用链接。

2.

连接保留超时

调整此参数是为了在并发情况下,如果一定的时间内无法获得数据库链接,则暂时等待,并不直接返回NullPointerException,而保留连接池中的连接的调用超时之前经过的秒数,设置为30秒,也就是说,在请求链接之后,30秒之内,会不断的尝试从数据源中返回正确可用的数据库链接给调用方,直到正确返回,否则在30秒内会持续保留。

3.

非活动连接超时

保留连接处于不活动状态的秒数, 该时间过后WebLogic Server 将收回该连接并将其释放回连接池,这样,有利于更加合理的调度数据库链接资源,增加数据源中可利用数据库链接的数量,以保证在一定的时间内,数据源更大的服务能力和并发能力,并通过100秒这个显示的时间限定,在到了时间之后,自动回收不活跃的数据库链接到数据源中,这样,减少了数据库链接泄露和无可用数据库链接发生的可能性。

1.2.在部署界面中,监视JDBC各项数据情况:

从这个界面,可以获得应用程序在一定时间内的数据库最大使用量,和并发量,和健康度(泄露链接计数,可用数,不可用数等),观察各个数据源的现状。

从这个界面,可以监视weblogic中Server实例AdminServer的服务情况,如一般信息,健康状况,通道,性能,线程,计时器,工作量,安全,默认存储,JMS,SAF,JDBC,JTA 等,而我们需要关注的主要是一般信息,健康状况,性能,线程,JDBC这几项。

特别说明:

(1)weblogic在不修改的情况下,默认的可执行线程数为15,

(2)weblogic数据源在不修改的情况下,默认数据源的最大容量为15,初始容量为1,容量增长为1.

1.3 用zmdswoa的身份登录数据库客户端,并观察当前的会话情况:

SID,代表了oracle服务器端生成的数据库连接的唯一标示数字,按照SID排序,可以看出当前数据库链接的使用量,因为oracle的SID是从1开始分配的。用户名,代表了连接该数据库实例zmddb的用户名,以此可以判断出当前各个应用程序链接数据库和数据库使用情况。

1.4修改可执行线程数:

D:\bea11g\user_projects\domains\base_domain\bin下的setDomainEnv.cmd;

调整规则:JDK5.0以后每个线程栈大小为1M,但是操作系统对一个进程内的线程数还

是有限制的,不能无限生成。32位操作系统根据JVM最大堆内存设置;64位操作系统经验值在3000~5000左右。

重要代码片段:set JA V A_OPTIONS=-Dweblogic.threadpool.MinPoolSize=50 -Dweblogic.threadpool.MaxPoolSize=50

1.5修改weblogic服务器运行时可使用的内存使用量和静态堆栈的内存使用量:

调整规则,32位操作系统,一般不超过2G即可。

重要代码片段:

if "%JA V A_VENDOR%"=="Sun" (

set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024m

set WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024m

) else (

set WLS_MEM_ARGS_64BIT=-Xms1024m -Xmx1024m

set WLS_MEM_ARGS_32BIT=-Xms1024m -Xmx1024m

)

set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%

set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%

if "%JA V A_USE_64BIT%"=="true" (

set MEM_ARGS=%MEM_ARGS_64BIT%

) else (

set MEM_ARGS=%MEM_ARGS_32BIT%

)

set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m

set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m

if "%JA V A_USE_64BIT%"=="true" (

set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%

) else (

set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%

)

set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m

set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m

1.6从Bea Products Tools中启用Node Manager,即为节点管理器,是安装weblogic时选择安装的一个weblogic 自带的工具,会自动监控AdminServer的健康状况,并自动决定是否重新启动,这样,可以实现监控Server相关内容的健康状况,并在异常时自动重启;

1.7 数据源的名字一定不能和应用的名字一样,否则会出现一定时间后,数据源对象自动不正常,甚至自动销毁(这个可能是weblogic的bug,只能尽量避免);

二:调整并优化了各项参数后,重新启动weblogic服务器,从weblogic的控制台监视,观看调整后变化,查看各项数据值,确认修改成功后即可:

2.1.应用并发能力能力增强,由会话,最大会话数,总会话数可以看出。

2.2.修改了setDomainEnv.cmd文件后,可执行线程数量增大到了50个,提高了多线程处理能力,当然,也需要耗费更多的服务器内存,所以,调整服务器可用内存是必须的。

2.3调整服务器可用内存后,监视服务器性能指数,有所提升。

2.4 调整了数据源配置后,可明显看到,数据源性能指数有明显的上升,并且,数据库链接获得的稳定性和正确性明显提升。

三:与应用程序相关的数据库链接问题关键点总结:

1.在weblogic中配置数据源时,数据源的名字,绝对不能和应用的名字一样,例如,如果应用程序的名字为zmdswoa的话,那么数据源的名字最好是jdbc-zmdswoa,而不能为zmdswoa,如果重名,weblogic服务器会在加载和创建数据源对象时产生混淆,在一定时候,会造成数据源对象莫名奇妙的销毁,从而获得不了任何数据库链接,而数据源对象在下次重启weblogic服务器之前,都不会自动修复,所以,应用程序中会出现请求数据库连接时NullPointerException异常。修改所有数据源的名字,前面都加上了jdbc-前缀,使之与应用名字zmdswoa和zmdswbgscms不重名,减少了这种weblogic中bug发生

的可能性。

2.在办公系统zmdswoa中潜入了zmdswbgscms应用中的一个滚动图片jsp页面,而且,该页面代码由于代码错误,本来要加载服务器静态图片,但却是每次都需要重新从数据库中查询BLOB二进制流文件,有严重的数据库链接占用和消耗的情况发生;而碰巧,zmdswbgscms和zmdswoa这两个应用是在同一个zmddb数据库实例下,而由于zmdswbgscms 应用占用了大量的数据库链接,(默认情况下,oracle服务器端在一个数据库实例下,最多只能有150个数据库链接),假如被zmdswbgscms应用占用了大量的数据库链接,那么zmdswoa应用所对应的数据源将在一段时间后甚至无法获得任何一个可用的链接。修改了zmdswbgscms应用中的读取滚动图片的程序,使之在第二次加载时,直接读取服务器静态图片,而不再重复链接数据库,极大的避免了数据库占用和消耗的情况发生。

3.由于默认的情况下,weblogic服务器只能提供15个并发线程数,而如果出现强并发的情况下,如果超过15个线程,同时请求数据库链接,且将在使用一段时间后才能释放。那么,第16个请求获得数据库链接的线程将无法获得任何可用的数据库链接,只能由weblogic决定在合适的时机重新将使用完毕的数据库链接放回数据源的连接池中,供下个请求使用,所以,加大weblogic的线程数为50,并且一定要略小于最大可用数据库链接数60,才是合适的,防止并发情况下,所有数据库链接都被占用,那么新的请求到来时,将会无任何可用数据库链接可使用。修改了zmdswoa中定时刷新待办事宜页面的程序,尽可能的缩短数据库链接占用时间。

4.尤其是首页的程序,都要进行适量的SQL代码优化,最明显的优化点,如(1)修改所有select * 的地方,改为只选择需要的列,这样,会减少很多数据库链接占用的时间;(2)对于数据量较大的表,尽量优化SQL语句,少用Like,in,not in等耗时的语法,而采用更加高效合理的语法实现数据的查询。主要针对应用首页相关的jsp页面,进行全面的检查和修改,优化。

[计算机]weblogic数据源优化调整记录

[计算机]weblogic数据源优化调整记录 首先,在解决一段时间后数据源不可用的问题之前进行观察和分析: 1.1.开始时连接池每个属性的配置信息: 初始容量: 创建连接池时要创建的物理连接数。更多信息. 最大容量: 此连接池可以容纳的最大物理连接数。更多信息. 容量增长: 向连接池中添加新连接时创建的连接数。更多信息. 语句缓存类型: 一种用于维护存储在语句缓存中的预定义语句的算法。更多信息. 语句缓存大小: 存储在缓存中的预定义语句和可调用语句的数量。(这可能会提高服务器性能。)更多信息. 先进的 测试挂起的连接使WebLogic Server能够在将连接提供给客户端之前对其进行测试。(测试表名称是必需的)。)更多信息. 测试频率: WebLogic服务器测试未使用的连接之间的秒数。(测试表名称是必需的)。)测试失败的连接将被关闭,然后重新打开以重新建立有效

的物理连接。如果测试再次失败,连接将被关闭。更多信息. 测试表名称: 测试物理数据库连接时使用的数据库表的名称。当指定测试频率和启用测试保留连接时,此名称是必需的。更多信息. 信任空闲池连接的秒数: 当WebLogic Server认为连接仍然有效,并在将连接传输到应用程序之前或在常规连接测试过程中跳过连接测试时,它将使用连接的秒数。更多信息. 收缩频率: 缩小连接池之前等待的秒数增加以满足需要。更多信息. 初始化 执行用来初始化新的物理数据库连接的语句。语句以SQL开头,后跟一个空格。更多信息. 您多久重试创建一次连接: 尝试建立数据库连接之间的秒数。更多信息. 登录延迟: 创建每个物理数据库连接之前延迟的秒数。这种延迟支持无法快速连续处理多个连接请求的数据库服务器。更多信息. 非活动连接超时: 保留连接处于非活动状态的秒数,在此之后,WebLogic Server 将回收该连接并将其释放回连接池。更多信息. 等待连接的最大数量:

weblogic服务器优化配置详解

第一章概要 WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。 试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态: 一修改运行队列线程数的值。在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。 二,如果可能,使用自带的性能包(NativeIOEnabled=true)。 三,使用特定的应用程序执行队列。 四,使用JDBC连接池时,修改下列属性: 驱动名称:使用小的驱动或者jDriver。 初始容量:设为与最大容量相同的值。 最大容量:其值至少应与线程数相同。 五,把连接池的大小设为与执行队列的线程数相同。 六,设置缓冲。 七,为Servlet和JSP使用多个执行队列。 八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。 第二章优化WebLogic 提要: 为WebLogic启动设置Java参数。 设置与性能有关的配置参数。 调整开发与产品模式默认值。 使用WebLogic“自有的IO”性能包。 优化默认执行队列线程。 优化连接缓存。 如何提高JDBC连接池的性能。 设置Java编译器。 使用WebLogic集群提高性能。 监视WebLogic域。 一、为WebLogic启动设置Java参数 只要启动WebLogic,就必须指定Java参数,简单来说,通过WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错,BEA 公

linux中的weblogic性能调优

Linux中的Weblogic性能测试调整 一.操作系统参数调整 1.linux TCP连接数调整 通过命令:ulimit –n 查看当前最大TCP连接数,这表示当前用户的每个 进程最多允许同时打开多少个文件。一般系统默认为1024,在并发量大 的情况下肯定不够用。 修改此限制的最简单办法:ulimit –n 设置单一进程允许打开 的最大文件数。如果系统回显类似于“Operation not permitted”之类的话,说明修改失败,需要修改系统对该用户打开文件数的软限制或硬限制。 修改软限制或硬限制: 修改/etc/security/limits.conf文件,在文件中添加如下行: * soft nofile 10240 * hard nofile 10240 表示修改所有用户的限制,也可以用指定用户名替代。 修改/etc/pam.d/login文件,在文件中添加如下行: session required /lib/security/pam_limits.so 查看Linux系统级的最大打开文件数限制:cat /proc/sys/fs/file-max 2.修改网络内核对TCP连接的有关限制 端口范围: 修改/etc/sysctl.conf文件,在文件中添加如下行: net.ipv4.ip_local_port_range = 1024 65535 另外,有时无法建立TCP连接的原因可能是因为Linux网络内核的IP_TABLE防火 墙对最大跟踪的TCP连接数有限制 修改/etc/sysctl.conf文件,在文件中添加如下行:net.ipv4.ip_conntrack_max = 10240 这表明将系统对最大跟踪的TCP连接数限制设置为10240。请注意,此限制值要尽 量小,以节省对内核内存的占用。 3.其他参数调整 在/etc/sysctl.conf文件中增加如下参数,进行系统参数调整 net.core.rmem_default=128388607 默认的TCP数据接收缓冲 net.core.wmem_default=128388607 默认的TCP数据发送缓冲 net.core.rmem_max=128388607 net.core.wmem_max=128388607

Weblogic配置数据源

Weblogic配置数据源 1启动w’eb’logic服务器 http://localhost:7001/console第一次进入的需要配置域我的是web_test域我直接进了输入用户名:XXX 密码:XXX 点击JDBC-数据源进入新增数据源

点击新建添加一个新的数据源 名称:填写数据源的名称该名称在weblogic中的唯一标识 JNDI名称:为连接数据库时指定datasourse的名称(可以随便写)数据库类型:选择你当前使用的数据库

数据库驱动程序:这不不用麻烦你了,它会自动伴你选点击下一步吧 没什么可做的直接下一步吧 数据库名称:就是你要连接的数据库的名称 主机名:连接的数据库服务器

端口:数据库服务端口 数据库用户名:数据库的用户名(登录用的哪个)密码:你自己写吧 下一步吧 在测试表名称:输入SQL SELECT 1 FROM DUAL 点击测试配置---配置成功会显示连接成功。

添加完成就是这样了 好吧来测试一下 新建一个web项目 testConnect.jsp <%@ page language="java" import="java.util.*,java.sql.*,javax.*" pageEncoding="gbk"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> My JSP 'testConn.jsp' starting page

Weblogic10.3_Windows优化设置

Weblogic10.3_Windows优化设置 优化说明 一、Weblogic服务程序设置 1、设置JDK内存 修改weblogic\user_projects\domain\bin下的seDomainEnv.cmd文件: 修改前: If”%JAVA_VENDOR%”=”Sun”( Set WLS_MEM_ARGS_64BIT=-Xms256m –Xmx512m Set WLS_MEM_ARGS_32BIT=-Xms256m –Xmx512m )else( Set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx512m Set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx512m ) Set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m Set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m 修改后: If”%JAVA_VENDOR%”=”Sun”( Set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024m Set WLS_MEM_ARGS_32BIT=- Xms512m –Xmx1024m )else( Set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m Set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m ) Set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m Set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m 说明:红色字体为修改的内容,具体修改值根据实际内存确定 ●-Xmx3550m:设置JVM最大堆内存为3550M。 ●-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置于-Xm相同,以 避免每次JVM动态分配内存所浪费的时间。 ●-XX:PermSize=256M:设置堆内存持久代初始值为256。(貌似是Eclipse等IDE 的初始化参数) ●-XX:MaxPermSize=512M:设置持久代最大值为512M 32位操作JDK内存系统:最大可这种1.5G,如果设置过大,会导致服务无法启动 64位操作JDK内存系统:最大设置为物理内存的60-80% 2、设置线程数: 修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd中在JAVA_OPTIONS中添加如下: Set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MinPoolSize=2000 Set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.threadpool.MaxPoolSize=4000 说明: JDK5.0以后每个线程栈大小为1M,但是操作系统对一个进程内的线程数还是

weblogic管理服务配置方法

Weblogci管理服务配置方法 (第三稿)

目录 1概述 (3) 1.1本文预期读者: (3) 1.2本文作用: (3) 1.3名词解释: (3) 2基本测试环境 (4) 3管理服务与被管服务基本配置 (4) 3.1中间件安装 (4) 3.2配置管理服务器 (4) 3.3配置计算机 (4) 3.4配置NodeManager (5) 3.5配置本机受管服务 (6) 3.6配置远程受管服务 (6) 3.7配置“远程启动”选项卡 (6) 3.7.1设置类路径 (6) 3.7.2Java虚拟机内存设置 (7) 3.8受管服务的启动和停止 (7) 3.8.1控制台启动停止服务 (7) 3.8.2Weblogic脚本启动受管理服务 (8) 4久其CI部署相关配置 (8) 4.1配置连接池 (8) 4.2配置数据源 (8) 4.3发布应用程序 (8) 5其他 (8) 5.1多台计算机安装weblogic注意事项 (8) 5.2配置NodeManager常见问题 (9) 5.3设置远程启动选项卡常见问题 (10) 6后记 (10)

1概述 1.1本文预期读者: 本文读者必须有一定weblogic使用经验,对weblogic管理体系有一定了解。熟练掌握weblogic单domain配置方式。文中只对安装使用管理服务需要用到的特殊设置步骤进行说明。本文省略的地方请参考公司文档《久其CI3.0安装配置手册—Weblogic》。 1.2本文作用: 场景一: 对于某些IT内控比较严格的项目,项目组无法获得用户服务器密码。如果有需要重新启动中间件服务时项目组会非常被动。此时可以使用管理服务器来启动和停止受管理服务器上的应用服务。 场景二 在硬件资源比较充足的情况下我们可以在多台服务器上启动中间件来支撑我们的应用。此时使用管理服务可以统一部署升级应用,控制、监控各个服务的运行情况。场景三: 在单服务器32位操作系统环境下java内存最大只能使用2G。为了充分利用服务器资源我们可以启动多个服务支撑应用。多个服务如果都在单独的域中将给我们的应用部署升级,管理监控各个服务带来不便。此时我们可以使用管理服务对所有的服务进行统一管理。 场景四: 本文对weblogic管理服务进行了简单讲解,可作为学习weblogic集群的参考资料。 1.3名词解释: 域:英文名domain。“域”是指一组彼此相关的 WebLogic Server 资源,这些资源作为一个单元来管理。一个域包括一个或多个 WebLogic Server,另外还可能包括一个或多个WebLogic Server 群集。域是独立的管理单元。如果将应用程序部署在某个域中,则此应用

weblogic优化设置&调优参数及监控指标

优化设置 Weblogic服务程序设置: 1、设置JDK内存: 修改weblogic\user_projects\domains\base_domain\bin下的setDomainEnv.cmd文件:修改前: if "%JAVA_VENDOR%"=="Sun" ( set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m ) else ( set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m ) set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m 修改后: if "%JAVA_VENDOR%"=="Sun" ( set WLS_MEM_ARGS_64BIT=-Xms512m –Xmx1024m set WLS_MEM_ARGS_32BIT=-Xms512m –Xmx1024m ) else ( set WLS_MEM_ARGS_64BIT=-Xms1024m –Xmx1024m set WLS_MEM_ARGS_32BIT=-Xms1024m –Xmx1024m ) set MEM_PERM_SIZE_32BIT=-XX:PermSize=128m set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=256m 说明:红色字体为修改的内容,具体修改值根据实际物理内存确定 ?-Xmx3550m:设置JVM最大堆内存为3550M。 ?-Xms3550m:设置JVM初始堆内存为3550M。此值可以设置与-Xmx相同,以避免每次JVM动态分配内存所浪费的时间。

Weblogic性能调优经验

WEBLOGIC性能调优方案 1.查看当前线程池大小: 登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。 2.修改线程池大小: 进入服务器的目录D:\bea\user_projects\domains\base_domain\config,使用编辑器打开config.xml文件,找到如下段落: AdminServer 168.5.130.34z 在上面添加如下两行:默认10 1000 1000 添加后的结果: AdminServer

168.5.130.34 1000 1000 按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的段落,分别添加上面的两行语句。最终结果如图所示:

Weblogic性能调优经验

Weblogic性能调优经验

WEBLOGIC性能调优方案 1.查看当前线程池大小: 登录WEBLOGIC控制台,选择服务器-某服务器-监视-性能,可查看到当前最大线程数量。由于WEBLOGIC9取消了在页面进行调整线程大小的功能,需要在后台进行修改。 2.修改线程池大小: 进入服务器的目录D:\bea\user_projects\domains\base_domain\config,使用编辑器打开config.xml文件,找到如下段落:

AdminServer 168.5.130.34z 在上面添加如下两行:默认10 1000 1000 添加后的结果:

AdminServer 168.5.130.34 1000 1000 按上面的步骤,继续找到ProxyServer,以及所有MANAGE受管机的段落,分别添加上面的两行语句。

weblogic性能优化

优化WebLogic 服务器性能参数 WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。 试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态: 一修改运行队列线程数的值。在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。 二,如果可能,使用自带的性能包(NativeIOEnabled=true)。 三,使用特定的应用程序执行队列。 四,使用JDBC连接池时,修改下列属性: n 驱动名称:使用小的驱动或者jDriver。 n 初始容量:设为与最大容量相同的值。 n 最大容量:其值至少应与线程数相同。 五,把连接池的大小设为与执行队列的线程数相同。 六,设置缓冲。 七,为Servlet和JSP使用多个执行队列。 八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。 优化WebLogic 提要: n为WebLogic启动设置Java参数。 n设置与性能有关的配置参数。 n调整开发与产品模式默认值。 n使用WebLogic“自有的IO”性能包。 n优化默认执行队列线程。 n优化连接缓存。 n如何提高JDBC连接池的性能。 n设置Java编译器。 n使用WebLogic集群提高性能。 n监视WebLogic域。 一、为WebLogic启动设置Java参数 只要启动WebLogic,就必须指定Java参数,简单来说,通过WebLogi c.Server域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出 错,BEA 公司推荐你把这个命令写进脚本里。为了简化这个过程,你可以修改样例脚本里的默认值,样例脚本是提供WebLogic启动服务器的。 如果你用配置向导创建你的域,WebLogic启动脚本(startWebLogic.cmd)放在domain-name目录里。默认情况下,这个目录是BEA_HOME\user_pr ojects\domain\domain-name,BEA_HOME表示安装路径,domain-nam e是在配置模板中设置的域名称。

Weblogic性能调优-通过Thread Dump调优JAVA应用程序

理解和探查内存不足/内存泄漏OutOfMemoryError/Memory Leak Analyze & Utilities Demonstrate II(AIX)

理解和探查内存不足/内存泄漏 听完这次Webinar,您将能够: q了解Java基本内存管理基本概念 q了解发生内存不足/内存泄漏错误的原 因和症状 q了解如何解决内存不足/内存泄漏错误

MENU ?Java内存管理的基本概念 ?内存不足和内存泄漏错误的原因和症状 ?使用分析工具解决内存不足和内存泄漏错误?预防内存不足和内存泄漏?OutOfMemory分析实例

…Java内存 –Java堆内存(heap) …Java堆内存(heap): –是JVM用于分配Java对象的内存,包含活动对象和不可用对象 –堆大小通常是在服务器启动时使用java命令中的 –Xms(最小)–Xmx(最大)标志来定义。

…本地内存(native memory): –是JVM用于其内部操作的本地内存(非Java内存)–JNI代码和第三方本地模块(例如,本地JDBC驱动 程序)也使用本地内存 –最大本地内存大小取决于以下因素: ?操作系统进程内存大小限制 ?已经指定用于Java堆的内存 …进程内存大小: –32位操作系统,理论最大值2的32次方=4G –进程内存= Java内存+本地内存 +加载的可执行文件和库+操作系统保留内存

…垃圾回收 (Garbage Collection, GC):–JVM自动检测和释放不再使用的内存。 –Java运行时JVM会执行GC,这样程序员不再需要显 式 释放对象。 –通常在空闲内存降低到某一水平或内存分配达到某一 数量后自动触发。 …以下OutOfMemory简称OOM …以下Memory Leak简称ML …Heap简称“堆”

weblogic数据源优化调整记录概要

一:解决数据源一段时间后不可用问题前的观察和分析:1.1.开始时连接池各项属性的配置信息: 初始容量 : 要在创建连接池时创 建的物理连接数。更 多信息... 最大容量 : 此连接池可容纳的最 大物理连接数。更多 信息... 容量增长 : 将新连接添加到连接 池时创建的连接数。 更多信息... 语句高速缓存类型 : 用于维护存储在语句 高速缓存中的预定义 语句的算法。更多信 息... 语句高速缓存大小 : 存储在高速缓存中的

预定义语句和可调用 语句的数量。(这样可 能会提高服务器性 能。更多信息... 高级 保留时测试连接使 WebLogic Server 能够在将连接提供给客户机之前对连接进行测试。(要求指定“测试表名称”。更多信息... 测试频率 : WebLogic Server 对 未用连接进行测试的 间隔秒数。(要求指定 “测试表名称”。未 通过测试的连接将被 关闭, 然后将它们重

新打开以重新建立有效的物理连接。如果测试再次失败, 则此连接将被关闭。更多信息... 测试表名称 : 测试物理数据库连接时使用的数 据库表名。指定“测试频率”和启用“测试保留的连接数”时需要此名称。更多信息... 信任空闲池连接的秒数 : 在将连接传送到应用程序之前或定期连接测试过程期间, WebLogic Server 相 信连接仍然有效并将跳过连接测试时使用连接的秒数。更多信息...

收缩频率 : 在收缩为满足需要而增大了的连接池前需 等待的秒数。更多信息... 初始化 SQL: 要执行用于初始化新建物理数据 库连接的 SQL 语句。以 SQL 后跟一个空格作为语句的开头。更多信息... 重试创建连接的频率 : 建立数据库连接尝试 的间隔秒数。更多信息... 登录延迟 : 创建每个物理数据库连接前的延迟秒数。此延迟支持不能快速 连续处理多个连接请求的数据库服务器。更多信息...

weblogic调优参数及监控指标

Weblogic调优参数及监控 weblogic调优参数 对Weblogic的调优主要从SEVER、ExecuteQueue、JDBC等几个方面的相关参数进行调优: 一、SERVER 在mydomain->Servers->myserver->Configuration->Tuning->“Enable Native IO”中: 1、Native IOEnabled TRUE,表示该Server使用本地I/O 2、SocketReaders 设置在执行线程中专用做Socket Readers的百分比 3、Maximum Open Sockets 最大打开Socket数 4、Stuck Thread MaxTime 堵塞线程时间,超过这个时间没有返回的执行线程,系统将认为是堵塞线程 如果weblogic认为某个队列中的所有的线程全部堵塞的话,weblogic将会增加执行线程的数量。 注意:执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。 5、Stuck Thread Timer Interval 系统检查堵塞线程的时间间隔 6、Low Memory GC Threshold 当可用内存小于该百分比时,垃圾回收启动 7、Low Memory Granularity Level 当两次检测的可用内存变化超过该百分比时,垃圾回收启动 8、Low Memory Sample Size 在一次检测中的取样次数 9、Low Memory Time Interval 检测间隔时间 10、Accept Backlog

Weblogic性能调优 V1.0

Weblogic 10.3.1.0 性能调优方案 V1.0 一、方案背景 本文描述的在Suse Linux Enterprise Server11 操作系统下Weblogic 10.3.1.0 性能调优,硬件的系统比较差,是由8core CPU,16G内存分离4个操作系统,每个操作系统是2core CPU,4G的内存,硬件系统的配置不是很高。 由于新框架在Weblogic10 下运行速度比较缓慢,需要对weblogic 容器的一些参数进行重新设置,以便提高新框架的运行速率,新框架包括登录页面、角色管理、管理员管理、日志管理、模板管理以及字典库管理,使用框架的技术是SSH3。安装完Weblogic 10.3.1.0后,Weblogic的一些参数都是默认参数,在linux中需要对一些参数进行重新设置。 二、优化部分 本次优化,主要以服务器启动、参数设置、应用登录进行优化 2.1、创建域慢启动慢的特征:创建域到70%时,进程长时间等待,创建 域启动Weblogic的时候也是长时间等待。 原因:线程挂在security相关的随机数生成上面,由于JDK的bug导致而成的。 解决办法:修改Linux Weblogic上的jdk $JAVA_HOME/jre/lib/security/java.security文件 将securerandom.source = file:/dev/urandom修改为: Securerandom.source = file:/dev/./urandom 这样可以解决任何一个域weblogic启动慢的问题 由于windows的实现机制和linux不一样,所以不存在启动慢的问题 2.2、修改JAVA_VM、Cache等相关参数 在$DOMAIN_HOME/bin/setDomainEvn.sh中,修改如下参数:if [ "${JAVA_VENDOR}" = "Sun" ] ; then WLS_MEM_ARGS_64BIT="-Xms256m -Xmx512m" export WLS_MEM_ARGS_64BIT WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m" export WLS_MEM_ARGS_32BIT else WLS_MEM_ARGS_64BIT="-Xms512m -Xmx512m" export WLS_MEM_ARGS_64BIT WLS_MEM_ARGS_32BIT="-Xms512m -Xmx512m" export WLS_MEM_ARGS_32BIT fi 修改为:

Weblogic常用监控方法及指标

性能测试工作室,专注于性能测试技术研究(https://www.wendangku.net/doc/d010628071.html,)Weblogic常用监控指标 JMSRuntime JMSServersCurrentCount 返回当前JMS服务的连接数ConnectionsCurrentCount 返回本JMS服务器上当前的连接数JMSServersHighCount 返回自服务器启动后JMS服务的最大连接数ConnectionsHighCount 返回本JMS服务器自上次重置后的最大连接数JVMRuntime HeapSizeCurrent 返回当前JVM堆中内存数,单位时字节HeapFreeCurrent 返回当前JVM堆中空闲内存数,单位时字节ExecuteQueueRuntime ExecuteThreadCurrentIdleCount 返回队列中当前空闲线程数PendingRequestOldestTime 返回队列中最长的等待时间PendingRequestCurrentCount 返回队列中等待的请求数 Queue Length 队列长度 JDBCConnectionPoolRuntime WaitingForConnectionHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大等待连接数WaitingForConnectionCurrentCount 返回当前等待连接的总数 MaxCapacity 返回JDBC池的最大能力 WaitSecondsHighCount 返回等待连接中的最长时间等待者的秒数ActiveConnectionsCurrentCount 返回当前活动连接总数ActiveConnectionsHighCount 返回本JDBCConnectionPoolRuntimeMBean 上最大活动连接数 注: weblogic通常监控JVM和执行队列,JDBC连接池,其中执行队列最关键的指标是Queue Length 队列长度

weblogic10性能优化及相关技巧

WebLogic10常见性能优化及相关技巧 目录 一、中文字符集的加载方法 (2) 二、服务启动缓慢的解决方法 (3) 三、文件损坏造成无法启动服务的解决方法 (3) 四、打开文件数的优化 (4) 五、虚拟机内存的优化 (5) 六、连接池的优化 (5) 七、服务节点访问超时的优化 (8) 八、服务节点访问线程数的优化 (10) 九、部署应用程序的优化 (10) 十、日志的优化 (11) 十一、清空输出日志nohup.out的方法 (13) 十二、通过管理控制台对weblogic10运行情况进行监测 (13) 十三、windows下weblogic控制台运行日志输出到文件 (15) 十四、忘记weblogic管理控制台密码的处理方法 (16)

一、中文字符集的加载方法 加载中文字符集的必要性: 1、解决某些情况下服务无法启动(启动需要读取含中文的xml)。 2、解决应用程序运行异常(程序运行需要中文字符集的支持)。 3、方便查看相关系统运行日志。 一般在linux或aix操作系统上会出现中文字符集的问题 加载方法: Linux操作系统 修改域目录下xxx_domain/bin/setDomainEnv.sh文件,在文件中增加内容export LANG=zh_CN.GBK 例如: IBM Aix操作系统 修改域目录下xxx_domain/bin/setDomainEnv.sh文件,在文件中的java_options中增加内容: -Ddefault.client.encoding=GBK -Dfile.encoding=GBK https://www.wendangku.net/doc/d010628071.html,nguage=Zh -Duser.region=CN 例如:

weblogic配置和创建数据源

新增了步骤19---23。 准备工作:在SQL SERVER 2000中创建一个数据库,名称为school(可以自己命名),设置sa的密码 1、安装weblogic(全部采用默认选项) 2、选择开始----程序----Bea products----Tools---Configuration wizard 配置weblogic(全部采用默认选项) 配置过程中设置weblogic的用户名和密码 3、将文件mssqlserver2.jar 复制到C:\bea\weblogic92\server\lib目录下 4、找到目录:C:\bea\weblogic92\common\bin\commEnv.cmd,点击右键“编辑” 找到信息行: @rem set up WebLogic Server's class path set WEBLOGIC_CLASSPATH=%PATCH_CLASSPA TH%;%JA V A_HOME%\lib\tools.jar;%WL_HOME%\serve r\lib\weblogic_sp.jar;%WL_HOME%\server\lib\weblogic.jar;%WL_HOME%\server\lib\webservices.jar 在末尾加入:%WL_HOME%\server\lib\mssqlserver2.jar(用;与前面的信息隔开) 5、启动weblogic 进入目录C:\bea\user_projects\domains\base_domain 找到文件:startWebLogic.cmd 双击启动,出现如下界面: 等待,当界面中出现server start in RUNNING mode,则代表weblogic已成功启动。 将此界面最小化,保持启动状态,(千万不要关闭) 6、打开IE,输入:http://localhost:7001/console回车,出现下面界面:

Weblogic中间件运维经验汇总

Weblogic中间件运维经验汇总 目录 关于Weblogic参数调优的运维经验 (2) Weblogic性能调优的处理方法 (5) 关于输电项目Weblogic安装的运维经验 (8) Weblogic回收数据库连接数配置的方法 (14) 在Apache和Weblogic中分别部署静态页面的方法 (17) Weblogic Server性能调优经验 (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、原因分析 在收到报警信息后,对后台日志进行查看,报错信息如下: Exception in thread "CBM_正常处理任务线程" https://www.wendangku.net/doc/d010628071.html,ng.OutOfMemoryError: Java heap space at oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.ja va:868) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatem ent.java:1045) at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPre paredStatement.java:839) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatem ent.java:1132) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepa redStatement.java:3316) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePrepare

WebLogic Server 8性能调优_BEA工程师

WebLogic Server 8.1 Performance Tuning Guide ?用户数、请求数、允许的响应时间 ?CPU、内存、网络等信息 ?Solaris调优 o ndd –set /dev/tcp tcp_time_wait_interval 60000, 将socket的关闭保持时间缩短为60秒(默认为240秒) o Solaris 2.7之前,tcp_time_wait_interval的命名是tcp_close_wait_interval o其它可用ndd –set调整的参数 参数建 议值 /dev/tcp tcp_time_wait_interval600 00 /dev/tcp tcp_conn_req_max_q163 84 /dev/tcp tcp_conn_req_max_q0163 84 /dev/tcp tcp_ip_abort_interval600 00 /dev/tcp tcp_keepalive_interval720 0000 /dev/tcp tcp_rexmit_interval_initial 400 0 /dev/tcp tcp_rexmit_interval_max100 00

/dev/tcp tcp_rexmit_interval_min300 /dev/tcp tcp_smallest_anon_port327 68 /dev/tcp tcp_xmit_hiwat131 072 /dev/tcp tcp_recv_hiwat131 072 /dev/tcp tcp_naglim_def1 /dev/ce instance0 /dev/ce rx_intr_time32

weblogic连接池配置及相关异常解决

1、配置连接池通过IP/console进入管理控制台(如果不知道用户名和密码可以通过以下方式进入:右击StartWebLogic.sh快捷方式,选择“编辑”,在文本中可以找到用户名和密码) 在左侧菜单中依次进入mydomain(自定义的域名称)-服务-JDBC-连接缓冲池 点击“配置新的JDBC Connection Pool... ” 数据类型选择:Oracle 数据库驱动程序选择:Oracle's Driver (Thin) Version:9.0.1,0.2.0,10 点击右下角的“继续” 在名称中写入想要设置的连接池名称如myConnection 数据库名称:要访问的数据库名称 主机名:写入数据库服务器的主机名称或IP地址 端口号默认为:1521 数据库用户名称、密码 点击“继续” 在下一页中点击“测试驱动程序配置”显示“连接成功” 点击“创建和部署” 在新页面的列表中出现mpConnection的配置项 连接池配置完毕 2、配置JDBC数据源 在管理控制台左侧菜单中依次进入mydomain(自定义的域名称)-服务-JDBC-数据源 点击“配置新的JDBC Data Source” 在名称中写入要配置的数据源名称myConnection 在JNDI名称中写入访问的名字pc/ora9) 点击“继续”

在缓冲池名称中选择myConnection 点击“继续”、“创建” 在列表中出现myConnection配置项 数据源配置完毕 异常解决: <001059><010070><149231><000297><090034>

相关文档
相关文档 最新文档