配置BEA WebLogic 81 JDBC连接及影响性能参数.docx

上传人:b****6 文档编号:4102630 上传时间:2022-11-27 格式:DOCX 页数:13 大小:669.05KB
下载 相关 举报
配置BEA WebLogic 81 JDBC连接及影响性能参数.docx_第1页
第1页 / 共13页
配置BEA WebLogic 81 JDBC连接及影响性能参数.docx_第2页
第2页 / 共13页
配置BEA WebLogic 81 JDBC连接及影响性能参数.docx_第3页
第3页 / 共13页
配置BEA WebLogic 81 JDBC连接及影响性能参数.docx_第4页
第4页 / 共13页
配置BEA WebLogic 81 JDBC连接及影响性能参数.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

配置BEA WebLogic 81 JDBC连接及影响性能参数.docx

《配置BEA WebLogic 81 JDBC连接及影响性能参数.docx》由会员分享,可在线阅读,更多相关《配置BEA WebLogic 81 JDBC连接及影响性能参数.docx(13页珍藏版)》请在冰豆网上搜索。

配置BEA WebLogic 81 JDBC连接及影响性能参数.docx

配置BEAWebLogic81JDBC连接及影响性能参数

配置BEAWebLogic8.1JDBC连接

本文描述了BEAWebLogic8.1Server中各种与JDBC相关功能的配置。

尽管我们使用了Oracle8.1.7作为我们的示例数据库管理系统(DBMS),但是只要其他关系数据库提供通过JDBC的连接,就可以很容易地把一般性的概念转移到这些数据库上。

  JDBC是标准的JavaAPI,几乎所有需要访问数据库的J2EE应用程序都直接或间接地使用了它。

在BEAWebLogic8.1中,配置JDBC连接包括创建和配置两个主要的工件——JDBC连接池和数据源。

与这两个主要工件相关的是其他次要的可配置工件,比如多池或数据源工厂。

  连接池还是多池?

  在深入讨论如何创建和配置连接池之前,我们需要简要地看一看需要使用连接池的原因。

  如果您没有使用JDBC连接池访问数据库,那么为了建立到数据库的连接,您将需要进行以下步骤:

  加载JDBC驱动程序类。

  创建JDBC驱动程序的一个实例,并把它注册到驱动程序管理器中。

  通过提供一个数据库URL和其他所需的参数,从驱动程序管理器中获得一个到数据库的连接。

完成之后关闭连接。

  与这种一次一个连接的方法相比,连接池是数据库连接的一个现存集合,而且可以在多个活动的J2EE应用程序中回收这些数据库连接。

连接池中的连接是开放的,可用于访问。

应用程序使用一个连接之后,这个连接没有被销毁,而是被返回到连接池中,随后可以为其他应用程序所用。

通过节省与频繁建立和断开数据库连接相关的计算资源,连接池提高了数据库访问的性能,尤其是在负载高峰期内。

  多池是连接池的集合。

多池的主要目的是提高可用性和在一组连接池间实现负载均衡。

  为什么使用数据源?

  一个数据源就是一个提供对连接池或多池访问的Java命名和目录接口(JavaNamingandDirectoryInterface,JNDI)对象。

连接池或多池对于配置数据源是必需的。

可以使用事务属性来配置数据源。

非事务性的数据源用于本地事务;而事务性的数据源用于分布式事务。

  数据源封装了对数据库的访问,隐藏了访问连接池或多池所涉及的细节。

另外,数据源使配置数据库连接的事务性特性变得容易。

  JDBCDataSourceFactory是一个JNDI对象,企业应用程序使用它从应用程序范围内的连接池中获得连接。

  JDBC驱动程序设置

  在WebLogicServer和DBMS之间建立连接所需的JDBC驱动程序分为两种类型:

Type2和Type4。

Type2JDBC驱动程序需要本地库。

使用Type2JDBC驱动程序时,需要把到WebLogic共享库(或动态链接库)目录的路径\server\bin\oci817_8和到Oracle客户端库目录的路径\bin添加到系统变量的开头部分。

  WebLogic8.1Server安装在目录中。

Oracle8.1.7数据库安装在目录中。

是WebLogicServerPath变量。

  对于Type2和Type4驱动程序来说,在WebLogicServerCLASSPATH中,需要相关的JDBC驱动程序类来配置连接池或数据源。

把包含OracleType2JDBC驱动程序类的\JDBC\lib\classes12.zip文件添加给/startWebLogic脚本文件中的变量。

  

WebLogicServerClasspath变量。

  

WebLogicServerDomain目录。

  配置JDBC连接池

  现在,我们将考虑如何创建连接池和配置与其相关的各种参数。

  要创建一个JDBC连接池,在AdministrationConsole中右击JDBC>ConnectionPools节点,然后选择ConfigureanewJDBCConnectionPool。

  这将显示一个ConfigureaJDBCConnectionPool画面。

为Oracle数据库选择DatabaseType–Oracle。

选择一个DatabaseDriver,然后点击Continue按钮(参见图1)。

图1

随后显示DefineConnectionProperties画面。

在这个画面中,指定一个DatabaseName、一个DatabaseUserName和一个Password。

点击Continue按钮。

  随后显示TestDataBaseConnection。

在这个画面中,指定DriverClassname、URL和Properties字段的值。

DriverClassname就是用于获得数据库连接的驱动程序类名。

URL是用于获得连接的数据库URL。

Properties是用于创建连接的属性列表。

  表1中指定了用于不同OracleJDBC驱动程序的DriverClassname和URL设置。

表1驱动程序类名和URL设置

  在URL设置中,是在/network/ADMIN/tnsnames.ora文件中指定的HOST值,是在tnsnames.ora文件中指定的PORT值,而是数据库实例名称。

  在Properties文本框中的设置是:

  user=

  server=

  是指定登录到Oracle数据库中的用户名。

是Oracle数据库实例名称。

如果使用了Oracle瘦(Type4)驱动程序,就不应该指定服务器属性。

  点击TestDriverConfiguration按钮,以测试JDBCConnectionPool。

如果驱动程序配置测试成功,会显示一条“Connectionsuccessful”消息。

如果驱动程序配置有错误,则会显示一条错误消息。

  随后会显示CreateandDeploy画面。

在这个画面中,选择一台服务器部署连接池,然后点击CreateandDeploy按钮来创建和部署一个JDBC连接池。

这将在被选中的服务器上创建和部署一个连接池。

也可以把它部署在多台服务器上。

AdministrationConsole中的JDBC>ConnectionPools节点将会增加一个节点。

是连接池的名称。

  要修改JDBCConnectionPool配置,点击JDBC>ConnectionPools>节点,然后选择Configuration选项卡。

要修改目标服务器,选择TargetandDeploy选项卡。

选择一台目标服务器,然后点击Apply按钮。

选择Connections选项卡以配置JDBCConnections属性。

  连接属性

  InitialCapacity:

创建连接池时所创建的数据库连接的数目。

  MaximumCapacity:

连接池中连接的最大数目。

  CapacityIncrement:

连接池容量在最大容量限制范围内的增量。

  LoginDelay:

在创建每个物理数据库连接之前要延迟的秒数。

  AllowShrinking:

将该项设置为true时,如果没有使用额外的连接,则允许连接池把容量减小到InitialCapacity。

  ShrinkFrequency:

在减小连接池容量之前要等待的秒数。

如果将ShrinkFrequency设置为true,那么也必须将AllowShrinking设置为true。

  TestFrequency:

数据库连接测试之间间隔的秒数。

在每个RefreshPeriod时间间隔之后,如果设置了TestTableName,就会使用TestTableName测试未使用的数据库连接。

  TestReservedConnections:

如果选择了这个选项,服务器会在把连接提供给客户端之前对其进行测试。

  TestCreatedConnections:

如果选择了这个选项,就会在创建一个JDBC连接之后和在把它添加到JDBC连接池中的可用连接列表之前,对该JDBC连接进行测试。

  TestReleasedConnections:

如果选择了这个选项,服务器就会在把连接返回给连接池之前对其进行测试。

  TestTableName:

用于JDBC连接测试的数据库表名。

如果指定了TestFrequency,并且选择了TestReservedConnections、TestCreatedConnections或TestReleasedConnections,则TableName是必需的。

  在配置Connections画面之后,选择Apply按钮。

  配置JDBC多池

  一个多池就是连接池的一个集合。

在创建多池之前为多池配置连接池。

要创建和配置一个新的多池,右击AdministrationConsole中的JDBC>MultiPools节点,然后选择ConfigureaNewMultiPool。

  随后会显示Configuration画面。

在MultiPoolConfiguration画面中,指定AlgorithmType并选择Create按钮。

如果将AlgorithmType设置为“Highavailability”,那么在使用另一个池中的连接之前,一个池中的所有可用连接应已经用完。

如果将AlgorithmType设置为“Loadbalancing”,多池会将连接请求平均地分布给多池中的所有连接池(参见图2)。

图2

  选择Pools选项卡,然后在Pools画面中选择要添加到多池中的连接池。

点击Apply按钮。

被选中的连接池将被添加到多池中。

连接中使用的连接池是基于AlgorithmType进行选择的。

  选择TargetandDeploy选项卡,然后在TargetandDeploy画面中选择一台目标服务器。

点击Apply按钮。

可以把一个多池部署在多台服务器上。

AdministrationConsole中的JDBC>MultiPools节点将会增加一个节点。

是多池的名称。

  配置JDBC数据源

  数据源是用于访问连接池或多池的JNDI对象。

连接池或多池对于创建数据源是必需的。

连接池对于创建事务性的数据源是必需的。

应在创建数据源之前创建连接池或多池。

  要创建和配置数据源,在AdministrationConsole中右击JDBC>DataSources节点,然后选择ConfigureanewJDBCTxDataSource。

  随后会显示Configuration画面。

在DataSourceConfiguration画面中指定字段的设置。

JNDIName是数据源的JNDI路径。

  选择HonorGlobalTransactions,以创建一个事务性的(Tx)数据源。

如果没有选中HonorGlobalTransactions,那么所创建的数据源就是非Tx数据源(参见图3)。

图3

  随后会显示ConnecttoConnectionPool画面。

在PoolName字段中,从可用连接池的列表中选择一个JDBC连接池,然后点击Continue按钮。

数据源与被选中的连接池相连接。

  随后会显示TargettheDataSource画面。

在这个画面中,选择一台目标服务器,然后点击Continue按钮。

这将在被选中的服务器上部署数据源,但是也可以在多台服务器上部署它。

AdministrationConsole中的JDBC>DataSources节点将增加一个节点。

是数据源的名称。

要修改数据源配置,点击管理控制台中的JDBC>DataSources>节点,选择Configuration选项卡。

为了可以在一次服务器访问中把每个ResultSet的多个行从服务器取到外部客户端,选择RowPrefetchEnabled并指定RowPrefetchSize。

要为非XA的JDBC驱动程序启用全局事务,为非XA的驱动程序选择EmulateTwo-PhaseCommit,并选择HonorGlobalTransactions。

要修改数据源的目标服务器,选择TargetandDeploy选项卡。

选择一台目标服务器,然后点击Apply按钮。

  数据源和Tx数据源之比较

  如果在数据源配置中选择了HonorGlobalTransactions,数据源就是Tx数据源。

数据源是和连接池或多池一起使用的。

Tx数据源和连接池一起使用。

数据源用于本地事务。

Tx数据源用于分布式事务。

  在下列情况下,应该使用Tx数据源而不是数据源:

  使用容器托管的持久性实体bean。

  在事务期间访问多项资源。

  在一个事务中进行多个数据库更新。

  在多台服务器上使用同一个连接池。

  配置JDBC数据源工厂

  JDBC数据源工厂是一项JNDI数据源资源。

企业应用程序使用数据源工厂从应用程序范围内的连接池中获得连接。

  要创建和配置一个JDBC数据源工厂,在AdministrationConsole中右击JDBC>DataSourceFactories节点,然后选择ConfigureanewJDBCDataSourceFactory。

  随后会显示Configuration画面。

在这个画面中,指定URL、DriverClassName、FactoryName和Properties字段的值,然后点击Create按钮(参见图4)。

图4

  AdministrationConsole中的JDBC>DataSourceFactories节点将增加一个节点。

是数据源工厂的名称。

要使用,需要重新启动服务器。

  JDBC配置和服务器性能

  下面列出了BEA针对WebLogicServer的各种JDBC配置设置给出的建议。

  为了提高生产模式下服务器的性能:

  在JDBC连接池配置中,把InitialCapacity的值设置为等于MaxCapacity。

如果InitialCapacity的值小于MaxCapacity,那么当负载增加时,服务器就会创建额外的数据库连接。

在负载增加的情况下,必须分配资源以创建额外的数据库连接,同时资源对于完成jdbc客户端请求也是必需的。

  把MaxCapacity的值设置为等于需要JDBC连接的并发客户端会话的数量:

为了确定一个连接池中的并发客户端会话,选择该连接池节点。

选择Monitoring选项卡。

ActiveConnections栏中的值是并发客户端会话的平均数目。

ConnectionsHigh的值是并发客户端会话的最大数量。

在部署应用程序和监视活动连接之后,可以修改MaxCapacity的值。

  当外部客户端通过WebLogicServer使用JDBC访问数据库时,在数据源配置中选择RowPrefetchEnabled:

通过在一次服务器访问中取多个行,行预取可以提高性能。

  结束语

按照上面概述过程,WebLogic开发人员应该能够针对Oracle8.1数据库配置BEAWebLogic8.1Server了。

配置其他数据库类似于配置Oracle8.1。

把包含相应数据库的驱动程序类的zip/jar文件添加给CLASSPATH变量,然后在JDBC连接池配置中指定相应的连接URL和驱动程序类名

 

1

名称

参数

位置

作用

  高速缓存

max-beans-in-cache

weblogic-ejb-jar.xml

实体bean缓存空间的大小,如果缓存的空间太小,有些bean就被滞留在数据库中,下次调用时就必须重新从数据库装载

  "%JAVA_HOME%\bin\java"-hotspot-Xms512m-Xmx512m-classpath%CLASSPATH%-

startWLS.cmd/startWLS.sh

为得到高性能的吞吐量,把Java堆的最小值与最大值设为相等。

2weblogic影响服务器性能的参数

  

   

名称

类型

位置

NativeIOEnabled

server

mydomain

->Servers

->myserver

->Configuration

->Tuning

->“EnableNativeIO”

TRUE,表示该Server使用本地I/O

SocketReaders

server

—>configuration

->tuning

设置在执行线程中专用做SocketReaders的百分比

MaximumOpenSockets

最大打开Socket数

StuckThreadMaxTime

堵塞线程时间,超过这个时间没有返回的执行线程,系统将认为是堵塞线程

  如果weblogic认为某个队列中的所有的线程全部堵塞的话,weblogic将会增加执行线程的数量。

  注意:

执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。

StuckThreadTimerInterval

系统检查堵塞线程的时间间隔

LowMemoryGCThreshold

当可用内存小于该百分比时,垃圾回收启动

LowMemoryGranularityLevel

当两次检测的可用内存变化超过该百分比时,垃圾回收启动

LowMemorySampleSize

在一次检测中的取样次数

LowMemoryTimeInterval

检测间隔时间

AcceptBacklog

等待队列中最多可以有多少TCP连接等待处理,如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设得过低。

  如果连接时收到connectionrefused消息,说明应提高该值,每次增加25%

ThreadCount

ExecuteQueue

console:

mydomain

->Servers

->myserver

->Monitoring

->MonitorallActiveQueues...

->Configuration

->weblogic.kernel.Default

->

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

  增大机器的最大并发线程数使处理器利用率达到最大。

对于服务器端操作比较多的线程,应该减少线程计数;对于客户端操作比较多的,应该增加线程计数。

并发线程数理论上等于“本地主机CPU个数+Stuck线程数”,够用即可,过大会降低系统性能

QueueLength

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

QueueLengthThresholdPercent

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

ThreadsIncrease

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

ThreadsMaximum

最大执行线程数

ThreadsMinimum

最小执行线程数

ThreadPriority

线程优先级

InitialCapacity

JDBC

mydomain

->JDBCConnectionPools

->Configuration

->Connections

初始数据库物理连接数

MaxCapacity

最大数据库物理连接数

CapacityIncrement

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

StatementCacheType

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

FIXED算法为先进先出的算法

TestConnectionsOnReserve

TestConnectionsOnReserve设置为false(缺省设置)。

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

StatementCacheSize

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

LoginDelay

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

  3.更改webLogic为运行时模式

  a).为更改运行在一个WebLogic主机上的所有域的运行时模式,用文本编辑器打开WL_HOME\common\bin\commEnv.cmd(Windows)或者WL_HOME\common\bin\commEnv.sh(UNIX),WL_HOME是安装WebLogic的路径。

  为指定的域更改运行时模式,就用文本编辑器打开domain-name\StartWebLogic.cmd(Windows)ordomain-name\StartWebLogic.sh(UNIX),domain-name为创建的域的目录。

  b).在这个脚本中,更改PRODUCTION_MODE的值,如果你要服务器运行在产品模式,指定其值为TRUE。

  4.选择JRockit作为虚拟机

  5.weblogic-ejb-jar.xml影响性能参数

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1