weblogic调优参数及监控指标

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

等待队列中最多可以有多少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”队列中线程才得到机会去竞争,但是

相关文档
最新文档