开发模式
产品模式
Execute Queue: ThreadCount
15 threads
25 threads
JDBC Connection Pool: MaxCapacity
15 connections
25 connections
3 . 1 更改运行时模式
在创建了一个域后,按下列步骤可以更改域里所有服务的的运行时模式:
1 .为更改运行在一个 WebLogic 主机上的所有域的运行时模式,用文本编辑器打开 WL_HOME\common\bin
\commEnv.cmd(Windows) 或者 WL_HOME\common\bin\commEnv.sh (UNIX) ,
WL_HOME 是安装 WebLogic 的路径。
为指定的域更改运行时模式,就用文本编辑器打开 domain-name \StartWebLogic.cmd (Windows) or
domain-name\StartWebLogic.sh (UNIX) , domain-name 为创建的域的目录。
2 .在这个脚本中,更改 PRODUCTION_MODE 的值,如果你要服务器运行在产品模式,指定其值为 TRUE 。
3 .重启所有的服务器。
3 . 2 两种模式的不同
下表列出了开发模式与产品模式几种关键项的区别:
功用名称
开发模式
产品模式
SSL
你可以使用 WebLogic 安全服务提供的验证数字证书。有这些证书,你开发的应用程序会在 SSL 保护的环境下运行。
如果你使用验证数字证书,会收到警告信息。
部署应用程序
WEBLOGIC 实例会自动部署和更新位于 domain_name/applications 目录下的应用程序( domain_name 为域
的名称)。
不能使用自动部署功能,必须使用 WebLogic 控制台或者 WebLogiceblogic Deployer 工具。
Log File Rotation
启动服务器后,服务器自动重命名本地日志文件为 server-name.log.n ,为了滞留的 session ,只要日志文件的达到
500kb ,日志文件就会滚转一次。
当日志文件达到 500kb ,就会滚转。
Execute Queues
默认的执行线程为 15 。
默认的执行线程为 25 。
JDBC Connection Pool Capacity
默认的容量为 15 。
默认的容量为 25 。
四、使用WebLogic“自有的IO”性能包
当你使用自有的性能包,测试基准就表明了主要性能的提高。性能包采用最优化的平台及多线程的 Socket 去提高服务器的性能。例如,本地
Socket 读的多线程有自己的执行队列而不需要借用默认的执行队列线程,这样可以让默认执行线程很从容去处理应用程序。
不过,如果你一定要用纯 Java socket 读在主机上运行,你仍然可以通过配置每个服务器实例和客户机中适当的 socket 读的线程数量,
来提高 socket 通信的性能。
设置性能包的操作方法:
默认情况下,装载在 config.xml 中的是自有的性能包。为了验证这个设置,在配置文件中检查 NativeIOEnabled 属性是否设
为“ true ”( NativeIOEnabled=true )。
你也可以通过管理控制台来验证,步骤如下:
1 , 启动管理服务器。
2 , 访问管理控制台。
3 , 展开左边面板的 Servers 节点,显示域服务。
4 , 点击你要配置的服务实例。
5 , 选择 Configuration - >Tuning tab 。
6 , 如果 Enable Native IO 复选框没有被选择,选中即可。
7 , 点击 Apply 。
8 , 重启服务器。
五、优化默认执行队列线程
默认情况下,一个新的 WebLogic 实例配置了一个开发模式执行队列, weblogic.kernel.default, 它包含 15 个线
程。另外, WebLogic 提供了 2 个预配置队列:
n weblogic.admin.HTTP——只在管理服务器上才有,这个队列供与管理控制台的通信用,你不能再配置它。
n weblogic.admin.RMI——管理服务器和被管理服务器上都有这个队列,它是供管理的交通之用,也不能再配置它。
如果你不配置额外的执行队列,并且指定应用给这些队列, web 应用程序和 RMI 对象就使用默认的队列
weblogic.kernel.default 。
注意;如果自带的执行包没有在你的平台上使用,你可能需要调整默认的执行队列线程数和担任 socket 读的线程的百分比,去实现最佳性能。
5 . 1 你应该更改默认的线程数吗 ?
增加更多的线程到默认的执行队列并不意味着你能处理更多的工作。即使增加更多的线程,仍然被处理器的能力限制。因为线程消耗内存,所以增加线程数属性的
值不必要的降低了性能。一个高的执行线程数导致更多的内存被占用并且增加了上下文转换程序,它也会降低性能。
线程数属性的值与应用程序处理的工作的类型关系密切。例如,如果你的客户应用程序比较小,通过远程调用处理的工作较多,这样,客户端会花费更多的时间连
接,因此,与能完成大量客户端任务的客户应用程序相比,会需要更多的线程数。
如果你的工作不需要使用超过15个线程(开发模式默认)或者25个线程(产品模式默认),就不要改变这个属性的值。通常,如果你的应用程序访问数据库花
很长时间才返回结果,与访问数据库很短时间就返回的应用程序比较,你会需要更多的执行线程。从后者来看,用少点的线程数可能提高性能。
5 . 2 需要修改默认线程数的情形
为了给执行队列决定一个理想的线程数,当队列中所有应用程序都运行在最大负荷的情况下,监视队列的吞吐量。增加线程数,重复负载测试,直到达到最佳的吞
吐量。(在某些情况下,增加线程数将产生足够多的上下文转换程序,使得队列中的吞吐量开始减少。)
注意: WebLogic 管理控制台显示的是所有服务器执行队列累积的吞吐量。为了得到这个值,后面将会介绍。