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

weblogic优化设置&调优参数及监控指标
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动态分配内存所浪费的时间。

?-XX:PermSize=256M:设置堆内存持久代初始值为256M。(貌似是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,但是操作系统对一个进程内的线程数还是有限制的,不能无限生成。32位操作系统根据JVM最大堆内存设置;64位操作系统经验值在3000~5000左右。

3、Weblogic数据库连接池连接数设置:

受Oracle数据库连接数的影响,可以参照同一时间连接数据库的用户数量,进行设置,数据库的最大连接数不能小于高峰时期同一时间连接用户的数量。点击数据源,进入后选择连接池:

初始容量:20

最大容量:50

容量增长:5

说明:

设置前得设置数据库的最大并发线程数(下面有介绍Oracle数据库线程数设置方法),因为weblogic节点的连接池最大连接数之和不能大于数据库的最大线程数。

?初始容量:要在创建连接池时创建的物理连接数。如果无法创建这一数量的连接,创建此连接池的操作将会失败。此连接数也是连接池将保持的最小可用物理连接数。

?最大容量:此连接池可容纳的最大物理连接数。

?容量增长:将新连接添加到连接池时创建的连接数。不再有可用的物理连接来满足连接请求时,WebLogic Server 会创建该数量的附加物理连接并将它们添加到连

接池中。MBean 属性(不适用于应用程序模块):

JDBCConnectionPoolParamsBean.CapacityIncrement。

4、Weblogic的服务设置[配置\优化]:

接受积压:300

登录超时:5000

说明:

?接受积压:对于此服务器的常规和SSL 端口,应该允许的新TCP 连接请求的积压数量。将积压设置为0 可以防止此服务器接受某些操作系统上的所有传入连接。

MBean 属性:ServerMBean.AcceptBacklog。最小值:0

?登录超时:此服务器的默认常规(非SSL) 监听端口的登录超时。这是允许建立新连接的最长时间。如果值为0,表示无最大值。MBean 属性:

ServerMBean.LoginTimeoutMillis最小值:0。最大值:100000。安全值:5000

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

等待队列中最多可以有多少TCP连接等待处理,如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设得过低。如果连接时收到connection refused消息,说明应提高该值,每次增加25%

二、ExecuteQueue

在mydomain->Servers->myserver ->Monitoring->Monitor all Active Queues... ->Configuration->weblogic.kernel.Default->

1、ThreadCount

服务器初始创建的执行线程的数量,设置原则:

增大机器的最大并发线程数使处理器利用率达到最大。对于服务器端操作比较多的线程,应该减少线程计数;对于客户端操作比较多的,应该增加线程计数。并发线程数理论上等于“本地主机CPU个数+Stuck线程数”,够用即可,过大会降低系统性能

2、QueueLength

在等待队列里的请求数,理想状态下是0

3、QueueLength Threshold Percent

一个百分数,当request的数量达到队列长度的这个比例的时候,weblogic会发出overflow的标志信息

4、ThreadsIncrease

如果weblogic发出overflow的标志信息,weblogic会尝试增加这个数量的执行线程,以解决处理矛盾

5、ThreadsMaximum

最大执行线程数

6、Threads Minimum

最小执行线程数

7、ThreadPriority

线程优先级

三、JDBC

在service->JDBC-> JDBC Connection Pools->Configuration->name->Connections

1、 Initial Capacity

初始数据库物理连接数

2、MaxCapacity

最大数据库物理连接数

3、Capacity Increment

每次数据库物理连接增加数

4、Statement Cache Type

prepared statements缓存的策略,LRU算法在有新的语句到来时,将最不经常被用得语句调整出缓存。FIXED算法为先进先出的算法

5、TestConnectionsOnReserve

TestConnectionsOnReserve设置为false(缺省设置)。如果此参数设置为真(true),则在连接被分配给调用者之前,都要经过测试,这会额外要求与数据库的反复连接

6、Statement Cache Size

宏语句设定的静态缓存,大小由JDBC连接池配置时指定,调整这个数值的大小,有利于提高系统的效率

7、Login Delay

创建数据库物理连接时的延时时间

weblogic监控指标

线程监控:

DOMAIN ->选择服务 -> Monitoring -> General -> Monitor all Active Queues... -> Monitor all Execute Threads...

在这个列表中可以看到应用当前处理的线程情况,若想进一步跟踪线程,可在使用KILL -3来跟踪查看进程情况,一般情况下线程存在如下状态:

A、Runnable:该状态表示线程具备所有运行条件,在运行队列中准备操作系统的调度,或者正在运行

B、Wait on condition:该状态出现在线程等待某个条件的发生

1、线程在等待网络的读写

2、线程在 sleep,等待 sleep的时间到了时候,将被唤醒。

C、Waiting for monitor entry 和in Object.wait():每个 Monitor在某个时刻,只能被一个线程拥有,该线程就是“Active Thread”,而其它线程都是“Waiting Thread”,分别在两个队列“ Entry Set”和“Wait Set”里面等候。在“Entry Set”中等待的线程状态是“Waiting for monitor entry”,而在“Wait Set”中等待的线程状态是“in

Object.wait()”。线程为什么会进入“Wait Set”。当线程获得了 Monitor,进入了临界区之后,如果发现线程继续运行的条件没有满足,它则调用对象(一般就是被 synchronized 的对象)的 wait() 方法,放弃了 Monitor,进入“Wait Set”队列。只有当别的线程在该对象上调用了 notify() 或者 notifyAll() ,“ Wait Set”队列中线程才得到机会去竞争,但是只有一个线程获得对象的 Monitor,恢复到运行态

D、死锁:在多线程程序的编写中,如果不适当的运用同步机制,则有可能造成程序的死锁,经常表现为程序的停顿,或者不再响应用户的请求。

E、热锁:也往往是导致系统性能瓶颈的主要因素。其表现特征为,由于多个线程对临界区,或者锁的竞争,可能出现:频繁的线程的上下文切换:从操作系统对线程的调度来看,当线程在等待资源而阻塞的时候,操作系统会将之切换出来,放到等待的队列,当线程获得资源之后,调度算法会将这个线程切换进去,放到执行队列中。大量的系统调用:因为线程的上下文切换,以及热锁的竞争,或者临界区的频繁的进出,都可能导致大量的系统调用。大部分 CPU开销用在“系统态”:线程上下文切换,和系统调用,都会导致 CPU在“系统态”运行,换而言之,虽然系统很忙碌,但是 CPU用在“用户态”的比例较小,应用程序得不到充分的 CPU资源。随着 CPU数目的增多,系统的性能反而下降。因为 CPU数目多,同时运行的线程就越多,可能就会造成更频繁的线程上下文切换和系统态的 CPU开销,从而导致更糟糕的性能

连接监控:

DOMAIN ->选择服务 -> Monitoring -> General -> Monitor all Connections...

性能监控:

DOMAIN ->选择服务 -> Monitoring -> Performance

1、Idle Threads:已分配到队列的空闲线程数

2、Oldest Pending Request:被放置在队列中最常的请求所发生的时间

3、Throughput:The number of requests that have been processed by the queue

4、Queue Length:正在等待的队列

5、Memory Usage:当前内存堆栈使用情况

6、GC情况

消息监控:

DOMAIN ->选择服务 -> Monitoring -> JMS

1、Current Connections:

The current number of connections to this server.

2、Connections High:

The highest number of connections to this server since the last reset.

3、Total Connections:

The total number of connections made to this server since the last reset.

4、Current JMS Servers:

The current number of JMS servers that are deployed on this WebLogic Server instance.

5、Servers High:

The highest number of JMS servers that were deployed on this WebLogic Server instance since this server was started.

6、Servers Total: 0

The total number of JMS servers that were deployed on this WebLogic Server instance since this server was started.

事务监控:

DOMAIN ->选择服务 -> Monitoring -> JTA

1、Total Transactions: 1641

服务处理的事务总数

2、Total Committed: 1641

提交事务的总数.

3、Total Rolled Back: 0

回滚事务总数

4、Timeout Rollbacks: 0

由于超时异常回滚的事务数

5、Resource Rollbacks: 0

由于资源错误回滚的事务数

6、Application Rollbacks: 0

由应用回滚的事务数

7、System Rollbacks: 0

由系统回滚的事务数

8、Total Heuristics: 0

The total number of transactions that completed with a heuristic status.

9、Total Transactions Abandoned: 0

The total number of transactions that this server abandoned.

10、Active Transaction Count: 0

The number of active transactions on the server.

11、Average Commit Time: 0 ms

The average amount of time (in milliseconds) that transactions coordinated by this server have taken to commit.

请求监控:

DOMAIN -> Deployments -> Web Application Modules ->选择应用-> Monitoring->Servlets

列表中显示了服务启动以来请求的耗时情况

需要监控的日志:

1、server log

2、access log

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管理服务配置方法

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 群集。域是独立的管理单元。如果将应用程序部署在某个域中,则此应用

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优化设置&调优参数及监控指标

优化设置 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 Server提供了三种方法来用于部署J2EE程序: ☆自动部署:WebLogic Server将定期扫描/applications目录,以获取新的和更新的应用程序。 ☆使用WebLogic.Deployer、WLShell和Ant wldeploy任务用于需要手动地重新部署的应用程序。 ☆WebLogic Server管理控制台用于手动地重新部署应用程序。 下面主要介绍第三种方式,采用WebLogic Server管理控制台进行手动地重新部署应用程序。 一.打开WebLogic Server: WebLogic部署要用到WebLogic Server控制台,在打开控制台前,要先启动WebLogic Server:1.启动WebLogic Server: 打开Tools→WebLogic Server→Start WebLogic Server,如下图: 当看到下面几句话时,表示WebLogic Server已经启动:

2.打开WebLogic Server控制台: Tools→WebLogic Server→WebLogic Console,如下图: 进入到控制台登陆页面,然后登陆:(账号和密码都为weblogic) 点击“Sign In”按钮,进入到:

二.WebLogic归档文件的部署: 1.Weblogic自动部署 例如:在Weblogic中创建名称为Deploy_Test的应用程序,执行后,则在控制台中的应用程序部署中可以看到创建的应用程序已经部署,这是本地自动部署,WebLogic Server将定期扫描/applications目录,自动部署里面的应用程序。 2.本地部署 在控制台页面中,进Domain Configurations下的Your Deployed Resources的Applications:

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新域(带图说明)

创建weblogic新域与配置Oracle连接池 一、创建一个新域 1.1.选择创建域服务器 以服务器192.168.165.14为例,用户crm01登录,进入目录:/weblogic/92/weblogic92/common/bin 使用ls命令查看bin目录下的文件,如图1.1.1所示: 图1.1.1 1.2 创建域命令 使用./congfig运行命令,如图1.2.1所示: 图1.2.1

该界面显示的1为创建一个新域,2为扩展一个已经存在的weblogic域 1.3.域资源配置 在命令行中选择输入“1”或者直接输入“Next”后点击回车进入Domain Source选择界面,如图:1.3.1 图 1.3.1 图示1为选择weblogic平台组件,2为选择已经存在的模板。 在提示符处输入“1”或者输入“Next”按回车进入Application Template选择界面,如图1.3.2所示: 图1.3.2 同样在提示符处输入“Next”进入用户配置,包括weblogic控制台登录用户名,密码,描述。如图1.3.3所示: 图1.3.3 图示1为修改用户名 图示2为修改用户密码 图示3为确认修改密码 图示4为修改描述

成功修改提交后显示如图1.3.4所示: 图1.3.4 修改完成后在提示符输入“Next”进入域模式配置Domain Mode Configuration 1.4 域模式配 域模式配置是对新建的域选择一个域的模式,模式如图1.4.1所示 图1.4.1 图示1为扩展模式,2为生产模式,默认选择1,输入Next进入下个配置项。 1.5 JDK的配置 JDK配置是选择服务器上装好的JDK版本和目录进行择,举例机器上为2,故选择2后回车,进入下个配置,如图1.5.1所示 图1.5.1 1.6 确认配置 该页面提示和选择的是是否需要修改已经配置好的模板,默认为否,如图1.6.1所示

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 集群配置

Weblogic 集群配置手册 使用Domain Configuration Wizard进行配置 创建新的Domain 输入命令“./config.sh”,单击“下一步”按钮,如果没有配置环境路径,可进入/../weblogic/Oracle/Middleware/wlserver_10.3/common/bin/安装目录执行。 选择安装域源 选择安装“WebLogic Server”,单击“下一步”按钮

指定域名和位置 输入域名,单击“下一步”按钮。

配置管理员用户名和密码 输入Weblogic管理员管理服务器(AdminServer)的用户名和密码,在此以“sxscms”作用登录管理服务器的用户名,密码welcome1,单击“下一步”按钮 配置域启动模式和JDK 选择“生产模式”和“JRockt SDK”后,单击“下一步”按钮

选择可选配置 选择“管理服务器”和“受管服务器,集群和计算机”,单击“下一步”按钮。

配置管理服务器 根据集群配置前的规划,输入Administrator Server的名称,监听地址,监听端口,如果需要SSL支持的话可以在“SSL enabled”后面的复选取框上打勾,配置SSL监听端口,单击“下一步”按钮。 配置受管理服务器(代理服务器实际上也是一个受管理服务 器) 根据集群配置规划输入Managed Server的名称,监听地址,监听端口,如果需要SSL 支持的话,可以在“SSL enabled”复选框上打勾,配置SSL监听端口。可以配置多个Managed Server。单击“下一步”按钮

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常用监控方法及指标

性能测试工作室,专注于性能测试技术研究(https://www.360docs.net/doc/1f18779337.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 队列长度

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中间件运维经验汇总

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.360docs.net/doc/1f18779337.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-数据源配置与使用方法

Weblogic 配置使用数据源与使用方法 我用的Weblogic10,其他可能有点不同,不过应该差不多 启动weblogic10,登录 选择JDBC->Data Sources ,如图1 图1 进入界面后,先点击左上角的Lock&Edit按钮,如图2

图2点击后就可以进行编辑和配置了。 点击右边页面的“New”如图3 图3点击NEW 后,出现新建数据源界面如图4

图4 变量解释: Name: 图4中第一个红框,随便起的名,在服务器用的数据源名,随便起,自己能认出来就行。 JNDI Name: 同志们,注意了,这个名字很重要,是在客户端要调用的JNDI名。Database Type:数据库类型,我用的MySql,我选MySql,其他数据库也是一样的,用什么就选什么。 Database Driver:数据库驱动,地球人都知道 写完了点“Next”中文的话就是“下一步”,如图5,

图5直接点下一步如图6

图6 参数解释: Database Name: 数据库名 Host Name:数据库地址,我是本地所以是127.0.0.1 Port:数据库端口,mysql默认端口是3306,其他数据库各有不同Database User Name:数据库用户名 Password/Confirm Password :数据库密码' 配置好了点 next 然后点击上面的Test Configeration 如图7

图7 PS:测试成功通过就点Finish,测试要是没通过自己找原因,有的时候会是驱动的问题,如果是找不到驱动错误的话,就自己把驱动放到weblogic 里去,在weblogic8.1中就有可能出现这种问题,数据库驱动放在"你电脑weblogic安装的位置 \bea\wlserver_10.0\server\lib" Finish 如图 8 图8 其中MysqlTest 是刚才新建的数据源这时候还没有Targets,还不能用,点击MysqlTest,也就是刚才创建的数据源,出现图9页面 图10 点击第二个选项卡,即Targets ,出现如图11

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.360docs.net/doc/1f18779337.html,nguage=Zh -Duser.region=CN 例如:

weblogic集群配置方法-具体实施步骤1

weblogic集群配置方法 案例所属系统 应用服务器weblogic1,weblogic2 案例现象 应用服务器,主机8G内存,目前使用情况: 主机weblogic1 为了提高内存使用率,准备在两台主机上各新增一个域,并配置集群,然后部署应用。 案例平台环境 查看主机信息 [weblogic@weblogic1 ~]$ uname -a Linux weblogic1 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux [weblogic@weblogic2 bin]$ uname -a Linux weblogic2 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux 查看weblogic版本信息 [weblogic@weblogic1 ~]$ cat /home/weblogic/bea/logs/log.txt Nov 24, 2010 9:15:28 PM -- install "WebLogic Platform" 9.2.3.0 at /home/weblogic/bea/weblogic92

release 9.2.3.0 [Added] |_____WebLogic Server [Added] | |_____Server [Added] | |_____Server Examples [Added] |_____Workshop for WebLogic Platform [Added] |_____Workshop [Added] |_____Workshop Examples [Added] [weblogic@weblogic2 logs]$ cat /home/weblogic/bea/logs/log.txt Nov 24, 2010 2:56:10 PM -- install "WebLogic Platform" 9.2.3.0 at /home/weblogic/bea/weblogic92 release 9.2.3.0 [Added] |_____WebLogic Server [Added] | |_____Server [Added] | |_____Server Examples [Added] |_____Workshop for WebLogic Platform [Added] |_____Workshop [Added] |_____Workshop Examples [Added] 查看JDK信息 [weblogic@weblogic1 logs]$ echo $JA V A_HOME /usr/local/jdk1.5.0_21 [weblogic@weblogic2 logs]$ echo $JA V A_HOME /usr/local/jdk1.5.0_21 查看ip地址信息 [root@weblogic1 ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:50:56:B9:00:01 inet addr:172.22.0.12 Bcast:172.22.0.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:feb9:1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:598544 errors:0 dropped:0 overruns:0 frame:0 TX packets:1863036 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:52714000 (50.2 MiB) TX bytes:2139395347 (1.9 GiB) Base address:0x2000 Memory:d8840000-d8860000 [root@weblogic2 ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:CD:80:D2 inet addr:172.22.0.13 Bcast:172.22.0.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fecd:80d2/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:348063 errors:0 dropped:0 overruns:0 frame:0

相关文档
最新文档