`
huraky
  • 浏览: 32388 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ADF中AM实例池参数介绍

    博客分类:
  • ADF
阅读更多

 

A Application Module Pooling Summary

An application module pool is a collection application module instances of the same type.

Application Module Pool 是一个存放有同一类型的 AM 实例的集合。

This pool of application module instances is shared by multiple

browser clients whose typical "think time" between submitting web pages allows

optimizing the number of application module components to be effectively smaller

than the total number of active users working on the system. That is, twenty users

visiting the web site from their browser might be able to be serviced by 5 or 10

application module instances instead of having as many application module instances

as you have browser users.

  多客户端浏览器的典型的 "think time" 型页面内容的提交就可以共享使用池中的 AM 实例,通过优化 AM 组件的数量就可以达到实际的 AM 数量小于活动的用户数量。也就是我们可以实现 5 10 AM 的实例来服务 20 个用户,而不是对每一个用户创建一个 AM 的实例。

 

Application module components can be used to support Fusion web application

scenarios that are completely stateless, or they can be used to support a unit of work

that spans multiple browser pages. As a performance optimization, when an instance

of an application module is returned to the pool in "managed state" mode, the pool

keeps track that the application module is referenced by that particular session. The

application module instance is still in the pool and available for use, but it would prefer

to be used by the same session that was using it last time because maintaining this

so-called "session affinity" improves performance.

AM 组件可以做为一个完全无状态 (stateless) 的组件来服务 Fusion Web Application ,或者是做为有状态 (stateful) 的组件用来支持一系列的多页面的场景。

 

AM 组件在池中的状态 (state) 有三种:

a) 无条件的可用

b) 可用,但是只能被活动的用户 Session 使用的 Session Affinity 实例

c) 不可用,因为他当前正在被使用中

 

B Type of Pools

There are two kinds of pools in use when running a typical Fusion web application, Application Module pools and database connection pools.

  当我们运行一个典型的 Fusion web application 时会产生两种不同类型池, AM 实例池和数据库连接池!

 

A)AM 实例池

运行时访问 AM 组件有两种方式:

   . 做为一个 AM 允许客户端直接访问

   . 做为一个可重用的组件聚合(或内嵌)到另一个 AM 实例中。

需要指出的是 ADF 只为 Root AM 来创建 AM 实例池,基本的 rule ADF 为每个 Controller 层使用到的 Root 级的 AM 在每一个 JVM 中创建一个实例池。

下面会详细介绍各个参数的含义。

B) 数据库连接池

数据库连接池也有两种方式:

   . 通过 JDBC URL 来使用

   . 通过 JNDI NAME

当使用 JDBC URL ADF 会通过 AM 的配置文件的参数来管理数据库连接池,而使用 JNDI NAME 时会使用服务器中数据源的配置。

数据库连接池中的参数在这里不会被介绍到!

 

 

C The parameters of the AM pool

 

1) Pool Behavior Parameters

Parameter

Description

Failover Transaction State Upon Managed Release

Jbo.dofailover

"Managed State" 模式下,每次当处于pending transaction stateAM 实例被释放到池中时执行" 钝化"[eager passivation].

ADF Fusion web applications 应该打开这个选项(设置为True )来允许任何其它的AM 在任何时间都可以" 激活"[activate] 它的状态。

这个选项默认为False

Row-Level Locking Behavior Upon Release

Jbo.locking.mode

使用了行级锁[row-level lock]AM 实例每次在释放到池中时强制AM 实例池不去在数据库中创建一个pending transaction state

ADF Fusion web application 应该设置锁定模式为“乐观锁”去避免创建一个行级锁。

这个选项默认为False!

Disconnect Application Module Upon Release

Jbo.doconnectionpooling

强制AM 实例池在AM 实例每次释放时池中时释放掉他对应的JDBC 连接。

这个选项默认是False

Enable Application Module pooling

Jbo.ampool.doampooling

使用AM 实例池,当你发布你的应用到生产环境时,默认就会设置为True 。但是在测试的时候可以设置为False ,从而可以发现更多的问题。

这个选项默认为False!

Support Dynamic JDBC Credentials

Jbo.ampool.dynamicjdbccredentials

允许程序在新的用户Session 开始的时候通过代码来修改数据库的连接凭证(用户名/ 密码)

这个选项默认为True !但是要实现这个特性必须要额外的添加代码。

Reset Non-Transactional State Upon Unmanaged Release

Jbo.ampool.resetnontransactionalstate

强制AM 重置所有的Non-Transactional State ,比如VO 的运行时设置,JDBCPrepared Statements ,绑定变量等。这时AM 实例会做为一个未管理的或是无状态“Stateless ”的形式被放回到池中。

这个选项默认是True ,关闭这个选项会提高性能,但是这样就不会清除绑定变量的值,你的应用必须确保绑定变量的值设置是正确的,如果你无法保证的话,就有可能会出现一个用户看到另外一个用户设置的绑定变量的值。

 

2 Pool Sizing Parameters

 

Pool Configuration Parameter

Description

Initial Pool Size

Jbo.ampool.initpoolsize

AM 实例池初始化时AM 实例的个数。

默认值是0 ,一个基本是思路是设置他的数值为你的系统预期的并发量的10%

这个参数的主要功能是在初始化时花费一定的CPU 时间来生成指定个AM 的实例,而不是在需要的时候再去创建AM 的实例。

Maximum Pool Size

Jbo.ampool.maxpoolsize

AM 实例池最大可以容纳的个AM 实例的个数,当超过这个值时就不会再创建任何的AM 实例了。

默认值是5000

Referenced Pool Size

Jbo.recyclethreshold

当一个用户Session 使用的AM 实例以Managed-State 模式放回到池中后再被与这个Session 相关的下一次请求取出的AM 的最大实例数

这个值总是应该小于等于最大的Size 。默认为10.

设置这个值的最大好处是可以节省切换AM 实例从这个用户的Session 到另外一个用户的Session 上面去。也可以理解为为一个用户的Session 指定了特定的AM 实例,节省了切换的时间消耗。

Maximum Instance Time to Live

Jbo.ampool.timetolive

AM 实例有池中存活的最大毫秒值,当AM 池现存的实例数大于设置的最小可用值时,这个实例就会从池中移除出去。

默认值是 3600000 毫秒,这个默认值适用与大部分程序。

 

3 Pool Cleanup Parameters

 

Pool Configuration Parameter

Description

Pool Polling Interval

jbo.ampool.monitorsleepinterval

池中的资源被清除的时间间隔,以毫秒为单位。

当池中的实例始终小于设置的最大实例数时,任何一个 AM 实例都不会被清除掉

默认值是 600000 毫秒,设置的值更小时就会引起更频繁的移除操作,从而减少内存的占用量,设置更大值就会更少的去清除。

Maximum Available Size

jbo.ampool.maxavailablesize

正常情况下 AM 池中最大可用的 AM 实例个数。

当清除操作发生时,就会将清除可用的 AM 实例,直到达到低于这个水平。

默认值为 25.

Minimum Available Size

jbo.ampool.minavailablesize

正常情况下 AM 池中最小可用的 AM 实例个数。

当清除操作发生时,就会将超过这个设置的可用的实例清除掉,直到达到这个水平为止。

设置为 0 时清除操作就会清空整个 AM 实例池。

默认值为 5

Idle Instance Timeout

jbo.ampool.maxinactiveage

AM 池中达到这个毫秒值不活动的 AM 的实例将做为候选人在下一次清除操作执行时被清除掉。

默认值是 600000 毫秒。

 

 

 

分享到:
评论

相关推荐

    Oracle ADF AM常用配置参数参考

    ### Oracle ADF AM常用配置参数参考 #### 一、AM常用参数 在Oracle ADF (Application Development Framework) 应用程序中,AM (Application Module) 是一个关键组件,用于处理业务逻辑并提供数据访问功能。为了...

    ADF4106实例代码

    1. **初始化**:设置ADF4106的工作模式、频率设定值、参考时钟等参数。 2. **编程序列**:通过SPI或I2C接口向ADF4106发送配置命令,完成频率合成器的设置。 3. **相位累加器管理**:设置相位累加器的初始值,影响...

    ADF4350控制实例

    ADF4350是一款高性能、高精度的射频(RF)频率合成器,常用于通信、测试设备和无线系统中。这款芯片能够提供广泛的频率范围,具有高度的灵活性和可编程性。在本文中,我们将深入探讨ADF4350的工作原理、配置方法以及...

    宽带PLL ADF41513(1)_ADF_acceptwcc_adf4360_ADF41513_ADf4360-7_

    标题中的“宽带PLL ADF41513(1)_ADF_acceptwcc_adf4360_ADF41513_ADf4360-7_”提及了两个关键器件:ADF41513和ADF4360-7。这两个都是高性能的频率合成器,在无线通信、测试设备以及各种信号处理应用中广泛使用。 ...

    ADF4360实例程序

    ADF4360实例程序,有需要的可以参考参考,呵呵

    Oracle JDeveloper ADF 框架实例

    Oracle JDeveloper ADF 框架实例 Oracle JDeveloper ADF 框架实例是一个基于 Java 的 SOA 应用程序和用户界面的开发框架,通过提供现成的基础架构服务以及可视的、声明式开发功能简化 Java EE 程序开发的复杂性。 ...

    adf4351的驱动代码、中文数据手册、相关论文讲解_论文讲解_adf4351中文手册_ADF4351驱动代码_ADF4351_

    8. **应用实例**:论文讲解可能包含具体的应用实例,如雷达系统、卫星通信或物联网设备,这些实例有助于开发者了解ADF4351在不同场景下的最佳实践。 综上所述,通过结合中文数据手册、驱动代码和相关论文讲解,...

    adf BEAN传参数

    在ADF(Oracle ADF)中传递参数给后端的Bean是一个常见的需求,这通常涉及到将参数值传递给Java Bean以便处理用户的请求。根据提供的文件内容,以下是四种在ADF中传递参数给Bean的方法: 1. 使用f:param标签传递...

    ADF7021 程序

    ADF7021是一款高性能的单片微波射频收发器,常用于无线通信系统,特别是那些要求高频率精度和灵活性的应用中。这款芯片由Analog Devices公司制造,提供了全面的数字接口,允许用户通过微控制器进行配置和控制。在本...

    adf4351的驱动代码、中文数据手册、相关论文讲解,adf4350中文手册,C,C++

    在C或C++语言中编写驱动代码,开发者可以精确地设置ADF4351的参数,如输出频率、参考频率、分频比等。驱动通常包括初始化、配置、读写寄存器以及错误处理等功能。理解并能够修改驱动代码对于调试硬件问题、优化性能...

    ADF41513中文数据手册

    ADF41513是Analog Devices公司生产的一种超低噪声频率合成器,它在无线通信系统中用作局部振荡器,用于上变频和下变频部分。它能够提供高达26.5GHz的输出频率,这使得它非常适合于高频率范围的应用,比如无线基础...

    ADF4351配置程序.zip_ADF4351_ADF4351程式_adf4350配置_adf4351 程序_adf4351配置

    ADF4351是一款高性能、高精度的频率合成器,广泛应用于无线通信、测试设备、卫星接收等系统中。它具有宽范围的频率输出能力,可编程的分频器和倍频器设计,使得在不同应用中能够灵活调整输出频率。ADF4351的配置主要...

    ADF4351,4350中文手册,英文手册,数值计算工具

    总的来说,ADF4351和ADF4350是设计工程师的有力工具,通过高效的频率合成能力,它们能够在复杂的电子系统中实现精确、稳定的信号生成。配合ADF435x_v4_5_0.exe计算工具,设计者可以轻松地根据具体需求进行参数配置,...

    AD公司的锁相环芯片ADF4350例程

    下面我们将详细探讨ADF4350的主要特点、工作原理、应用以及开发过程中需要注意的关键点。 ### ADF4350主要特点 1. **宽频率范围**:ADF4350能够提供从1 MHz到6.4 GHz的频率输出,覆盖了大部分射频和微波应用的需求...

    ADF4351中文数据手册

    在实际应用中,用户可以通过SPI(串行外设接口)向ADF4351写入控制字,以配置其频率、分频比和其他操作参数。ADF4351通过10个可编程的R计数器和N计数器实现大范围的频率合成能力。而其内置的电荷泵和环路滤波器可以...

    ADF5355 SPI程序

    - **EV-ADF5355SD1Z_UG-802.pdf**:这是ADF5355的评估板用户指南,包含了硬件连接和软件配置的详细信息,是理解如何将ADF5355集成到系统中的关键资源。 - **ADF5355.pdf**:该文档提供了ADF5355的完整技术规格,包括...

    ADF检验MATLAB程序.zip_ADF单位根检验_ADF检测_MATLAB adf_adftest matlab_adf检验

    压缩包中的“ADF检验MATLAB程序.doc”文档可能详细介绍了如何使用MATLAB代码实现这些步骤,包括如何调用`adftest`函数,如何处理结果以及可能遇到的问题和解决方案。阅读这份文档将有助于深入理解和应用ADF检验。 ...

    ADF TaskFlow间通信实例(1)

    在这个"ADF TaskFlow间通信实例(1)"中,我们将深入探讨如何在不同的TaskFlow之间传递参数,以便实现更复杂的业务逻辑。 首先,了解ADF TaskFlow的基本概念至关重要。TaskFlow本质上是定义了一组页面或组件的流程...

    ADF Taskflow传参例子

    1. 创建参数:在ADF的Taskflow定义中,你可以创建参数。参数可以是任何JSON兼容的数据类型,如字符串、数字、布尔值或复杂对象。 2. 分配值:在Taskflow的启动时,你可以为输入参数提供值。这些值可以是静态的,也...

    ADF4106器件资料

    1. **6.0 GHz 带宽**:ADF4106具有高达6.0 GHz的工作带宽,这意味着它可以支持非常宽泛的频率范围,从而在许多高频系统中消除对外部倍频器的需求。 2. **2.7V 至 3.3V 电源电压**:器件可在较宽的电源电压范围内工作...

Global site tag (gtag.js) - Google Analytics