weblogic培训笔记 [ 日期:2006-03-16 ] [ 来自:boris ]
weblogic Server内部结构和相关的配置
weblogic Server内部结构图:
(一) 原理简单说明
服务器启动,就会绑定到相应的端口,并为一个端口分配一个线程以接受连接请求,一旦服务器接受到连接请求并建立好连接以后,监听线程将处理权交给套接字复用器,套接字复用器进行一定的处理,并会负责选择利用那个执行队列并将请求置入其中。当有一个请求进入执行队列,就会有一个空闲的执行县城从该队列里面取走并向调用者返回结果。
(二) 执行队列和执行线程的相关配置
执行线程数量有一定的限制,在服务器启动的时候,就已经形成了一个含有一定数量执行线程的池,执行线程可能跨servlet,ejb和jdbc等,由于执行线程仅当程序成功结束或者出现异常才能被释放继续处理其他请求,所以如果执行线程执行的不够快,而请求又多的情况下,就会造成执行队列的阻塞。
相关的配置信息有:
server菜单—〉configuration页---〉高级配置---〉Config Execute Queues中的配置项如下:
1、Queue Length队列长度,执行队列的长度
2、Queue Length Threshold Percent 一个百分数,当request的数量达到队列长度的这个比例的时候,weblogic会发出overflow的标志信息。
3、Thread Count 服务器初始创建的执行线程的数量
4、Thread Increase 如果weblogic发出overflow的标志信息,weblogic会尝试增加这个数量的执行线程,以解决处理矛盾。
5、Threads Maximum最大执行线程数
6、Threads Minimum最小执行线程数
7、Thread Priority线程优先级
另外server菜单—〉configuration页---〉tuning子页中还有一些相关的配置:
1、 Stuck Thread Max Time 黏联线程时间,超过这个时间没有返回的执行线程,系统将认为是黏联线程。
2、 Stuck Thread Timer Interval 系统检查黏联线程的时间间隔
如果weblogic认为某个队列中的所有的线程全部黏联的话,weblogic将会增加执行线程的数量。
注意:执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。
(三) 套接字复用器的相关配置
Weblogic带有两个版本的套接字复用器,纯java版和本地接口版(jni),一般来说在访问量小的情况下,java版比jni版性能要好一些,因为jni的API调用会损失一部分性能,但是访问量大的情况,一般都是jni版的性能比较好,所以尽量保证weblogic实用本地接口版的套接字复用器。
相关的配置参数有两个,在server菜单—〉configuration页---〉tuning子页中的第一个和第二个配置项。
Enable Native IO :启用本地IO,勾选这个配置以后,weblogic就会启用本地接口版的套接字复用器
Socket Readers :如果不选上一个选项,则这个选项可用,也就是说java版的套接字复用器会被启用,并且,java版的复用器会从执行线程中抽出这个比例的线程用于处理socket的请求。(和java客户端访问有关?)
web应用程序的相关配置
1、单线程模式servlet
默认情况下,一个servlet实例将会产生多个线程来同时响应多个请求。
如果某个servlet实现SingleThreadMod旗标接口,那么这个servlet将会自动拒绝多路并行请求的模式。在这种情况下,weblogic会产生一个servlet实例池来满足单线程的要求。
目前,应该尽量避免使用单线程模式的servlet,如果需要在大容量的系统中使用单线程模式的servlet,那么应该调整如下的参数:
Single Threaded Servlet Pool Size 这个参数可在weblogic.xml或者在weblogic控制台上webapplication菜单---〉configuration页---〉Descriptor 子页中进行设置。
默认为5。
2、Weblogic生产模式下会自动监测servlet和jsp的更改情况,在产品模式下,不需要这些检查,可以通过下面的参数更改:
JSPPage Check Secs和Servlet Reload Check Secs均设为-1这两项是weblogic检查jsp和servlet的时间间隔。设置为-1,weblogic将不再检查。
关闭JSPKeep Generated和JSPVerbose,产品模式下也不需要这两个选项。
Enable JSP Line Numbers 这个选项是启用jsp行号的选项,启用行号的目的是用来支持调试,有些IDE可以在jsp生成的java源代码中设置断点用于调试。生产模式中也不需要。
注意:在产品发布模式下,请禁止对servlet和jsp的变更检查,这样除了能提高效率以外,还可以防止用上传文件的方式对服务器的攻击。如果需要更改servlet和jsp,可以重新部署应用。
3、Session和cookie的相关配置
概念会话cookie:如果不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览器会话期的 cookie被称为会话cookie。
Session Cookie Max Age Secs 就是会话cookie的超时时间,设置小于0表示不限制。
Session Invalidation Interval Secs 检查过期session的周期
Session Timeout Secs session的超时时间
4、Jdbc连接池的配置
URL 连接池地址
Driver Classname :jdbc驱动类名
Properties :属性,例如user=examples
Password :密码
Initial Capacity :初始连接数
Maximum Capacity :最大连接数
Capacity Increment :连接池每次增加连接的数量
Statement Cache Type :prepared statements缓存的策略,LRU算法在有新的语句到来时,将最不经常被用得语句调整出缓存。FIXED算法为先进先出的算法
Statement Cache Size :缓存中语句的最大数量,调整这个数值的大小,有利于提高系统的效率。
java虚拟机配置
JRockit是BEA公司开发的Intel平台之上的高性能以及高可管理性的jvm产品,在Intel平台上使用JRockit无疑会大大的提高效率。使用向导建立server的配置的时候,可以选择JRockit作为该server的虚拟机,另外,也可以在域的startWebLogic.cmd或者startWebLogic.sh脚本中配置使用JRockit。
使用JRockit:
set JAVA_VENDOR=BEA
set JAVA_HOME=c:\bea\jrockit81sp4_142_05
使用Sun的jvm:
set JAVA_VENDOR=Sun
set JAVA_HOME=c:\bea\jdk142_05
u 与java虚拟机相关的参数配置可在startWebLogic.cmd或者startWebLogic.sh脚本中设置,在其执行java命令之前一行加入如下指令:
set JAVA_VM=%JAVA_VM% “这里加入虚拟机参数”
JRockit上的一些参数解释如下:
选项
描述
-X
显示扩展Java选项
-Xallotype
-Xallocationtype
可取值global和local,定义使用本地线程还是全局线程。
global,在最大堆尺寸比较小时(小于128M)或者应用程序大量使用了线程时使用。
local,在最大堆尺寸比较大时(大于128M)或者应用程序少量使用了线程时使用。
每个本地线程区都要消耗大约2K的内存,如果大量地使用了线程,本地线程不但会造成内存空间浪费,而且还会造成堆碎片。使用全局线程机制会减少堆碎片,但在内存分配方面速度要慢一些。
-Xbootclasspath
指定类搜索路径,可以是ZIP和JAR文件,以;或:分隔
-Xcleartype
定义内存清理时机,可取值gc, local, alloc。gc表示在垃圾回收时清理内存;local表示时分配一块local线程区时清理;alloc表示内存区要被分配给其它对象时清理
-Xgc
选择要使用的垃圾回收器的类型,可取值:
gencopy:分代复制收集(默认)适合调试期间使用
singlecon:单空间并发,无中断并发
gencon:世代并发,暂停时间最短
parallel:parallel并行回收器,会导致应用程序间歇暂停,但会带来最大吞吐量。
如果-Xmx小于128M,缺省使用gencopy,否则使用gencon
-Xgcpause
打印由垃圾回收器造成的停顿时间
-Xgcreport
打印垃圾回收报表
-Xjvmpi
是否允许JVMPI事件,这些事件有:
entryexit(缺省ON)
allocs(缺省ON)
monitors(缺省ON)
arenasdelete(缺省OFF)
例如:-Xjvmpi:allocs=off,monitors=off,entryexit=off
-Xmanagement
激活JVM中的管理服务器,在JVM的管理控制台能连接到它之前,必须先激活。
-Xms
设置初始堆大小,单位有K、M、G
-Xmx
设置最大堆大小,单位有K、M、G
建议:应设置-Xms=-Xmx以免去分配堆的时间
-Xnativethreads
使用本地线程系统,这是缺省选项
-Xnoclassgc
禁止对类作垃圾回收
-Xnohup
告诉JRockit,忽略CTRL_LOGOFF_EVENT和SIGHUP事件
-Xns
设置nursery尺寸,单位有K、M、G
Nursery是垃圾回收器用来存放临时对象的地方,应该在保证垃圾回收暂停时间最短的情况下,尽量大的调整nursery的值。
对于-Xgc:gencopy,缺省的Nursery大小为320KB/CPU,对于10个CPU的系统来说,Nursery大小为3200KB(3.2M)对于-Xgc:gencon,缺省的Nursery大小为10M/CPU,对于10个CPU的系统来说,Nursery大小为100M
-Xss
设置线程栈尺寸,单位有K、M、G
-Xthinthreads
使用JRockit的高性能线程系统,在IA64上不可用。
注意:瘦线程系统目前还没有全面推广,不建议使用
-Xverbose
让JRockit打印更多的信息,可选的参数有:
codegen、cpuinfo、gc、load、memory、Opt
-Xverify
作完整的bytecode一级的校验
u JRockit的管理控制台的使用
在JRockit的启动参数中加入-Xmanagement,以便启动JRockit的时候同时启动其Management Server。
在JRockit的bin目录下,运行console.exe程序
建立一个新的连接,连接需要监视的JRockit(监视端口默认为7090)
在JRockit Management Console中,将Tools/Preferences菜单中的Mode of operation属性设为developer
在Method Profiler属性页中添加你所需要观察的类的成员方法
按Start按钮让Method Profiler开始进行统计
原文地址:http://www.blogjava.net/lqsun
分享到:
相关推荐
- "weblogic培训笔记(一)weblogic Server内部结构和相关的配置":深入解析WebLogic Server的核心组件和配置方法。 - "weblogic培训笔记(二)web应用程序的相关配置":涵盖Web应用在WebLogic上的部署和配置细节...
### Weblogic学习笔记:安装与配置详解 #### 一、Weblogic 9.2的安装流程 Weblogic的安装过程相对直接,对于初次接触的开发者来说,也较为友好。整个安装过程中,用户只需要关注几个关键步骤,其余部分可遵循默认...
本培训资料主要聚焦于WebLogic Server 9的使用和管理,这是一个早期但仍然重要的版本,对于理解WebLogic的核心功能和架构非常有价值。 一、WebLogic Server基础 WebLogic Server是基于Java的中间件,它提供了多种...
Weblogic安装笔记.docx
Weblogic安装笔记.pdf
本培训资料是迄今为止被认为是最佳的学习资源,旨在帮助学习者深入理解WebLogic的核心概念、配置、管理和集群技术。 1. **WebLogic基本概念** - **应用服务器**:WebLogic作为应用服务器,它提供了运行Java EE应用...
weblogic经典培训教程 安装 配置 文件含义 启动停止等
WebLogic培训PPT是针对Oracle公司的WebLogic Server这一企业级Java EE应用服务器的教育材料。WebLogic Server是一款强大的中间件,广泛用于构建、部署和管理企业级应用。它提供了多种功能,包括应用服务器、集群、...
本培训资料将深入探讨WebLogic的核心概念、功能以及如何有效利用它来优化企业级服务。 一、WebLogic基础 1.1 Java EE平台:WebLogic是基于Java EE标准的,因此理解Java EE组件如Servlet、JSP、EJB、JMS、JTA等是必...
### WebLogic Server基础培训知识点详解 #### 一、WebLogic Server的安装 1. **Windows下的安装步骤**: - **启动安装程序**:通过双击`weblogic9xx_win32.exe`或命令行方式启动安装程序。 - **接受许可协议**:...
本PPT学习笔记将深入探讨WebLogic的核心概念、功能以及如何进行配置和管理。 1. **WebLogic基础** - **Java EE平台**:WebLogic是Java EE平台的一部分,提供了对Servlets、JSP(JavaServer Pages)、EJB...
WebLogic Server的安装 WebLogic Server的Domain配置 WebLogic Server目录及文件的含义 WebLogic Server启动/停止服务器
这份“WebLogic原厂培训教材实验”PDF,显然是Oracle官方提供的培训资料,旨在帮助用户深入理解和掌握WebLogic Server的各类功能和最佳实践。 一、WebLogic基础 WebLogic Server作为Java EE(现在称为Jakarta EE)...
本培训PPT将深入讲解Weblogic的安装、配置和调优等关键环节,帮助用户更好地理解和掌握这款强大的中间件。 一、Weblogic安装 1. 系统需求:在开始安装前,需要确保操作系统满足Weblogic的最低硬件和软件要求,例如...
WebLogic EJB学习笔记主要涵盖了企业级Java Bean(Enterprise JavaBeans,简称EJB)在Oracle WebLogic Server中的应用和管理。EJB是Java EE(Java Platform, Enterprise Edition)平台的核心组件,用于构建可扩展、...
这款官方培训文档是针对不同阶段的WebLogic用户的,无论你是初学者还是高级管理员,都能从中获取到宝贵的知识。 1. **WebLogic Server基础** - **安装与配置**:文档会详细介绍如何下载、安装和配置WebLogic ...
【weblogic第一期培训材料】 WebLogic Server是Oracle公司的一款企业级Java应用服务器,它提供了在分布式环境中运行、管理和集成Java应用程序和服务的平台。这款强大的中间件产品在企业信息系统中扮演着至关重要的...
很不错的 weblogic培训教程.ppt