AM使用指南之七:Configuration参数说明(4)
来源:互联网 发布:软件测试佣金问题 编辑:程序博客网 时间:2024/06/11 19:33
AM的参数中与数据库有关的有两个重要的参数:jbo.doconnectionpooling和jbo.txn.disconnect_level。
因为与数据库有关,所以这两个参数与性能有直接的关系。
1. jbo.doconnectionpooling
(1)=false,默认值,表明每个AM实例保留一个数据库连接,即使用户请求结束之后,依然保留,直到AM实例消亡。
优点:用户下一次请求时,不用再获取数据库连接。
缺点:大量的数据库连接被AM保留,即使这些连接未真正使用,导致服务器资源紧张。
(2)=true,表明每个AM实例只在请求期间保留一个数据库连接,用户请求结束之后,就释放数据库连接。
优点:及时释放数据库连接,节省服务器资源。
缺点:因为释放掉了数据库连接,需要保存当前cursor的位置(ADF-BC的原理如此),即Passivation,然后重新获取一个新的连接后再Activation,会导致性能下降。
(3)小结:如果最佳性能为首要目标,选择=false;如果以降低数据库连接数为首要目标,选择=true。
2. jbo.txn.disconnect_level
(1)=0,默认值,表明当AM释放掉数据库连接时,AM的状态(VO、RowSet、Cursor)会持久化到数据库中。
(2)=1,表明,表明当AM释放掉数据库连接时,AM的状态(VO、RowSet、Cursor)会持久化到内存中。
3. jbo.doconnectionpooling=true + jbo.txn.disconnect_level=1
既然单独jbo.doconnectionpooling=true,会由于Passivation和Activation而导致性能下降,那么作为补偿的手段之一设置jbo.txn.disconnect_level=1,可以弥补一些性能的下降。
结论
(1)如果用户并发数不是很高,并且降低数据库连接数不作为首要目标,那么可以选择jbo.doconnectionpooling =false,因为这样应用的性能比较好(在每次请求时不用重新获取数据库连接和AM状态的持久化)。
这是一种牺牲数据库链接资源保证应用性能的作法。
(2)如果用户并发数很高,并且降低数据库连接数作为首要目标,那么可以选择jbo.doconnectionpooling =true,同时设置jbo.txn.disconnect_level=1,这样在减少数据库连接的同时,AM的状态持久化到内存中。
这是一种节省数据库资源的同时,尽量不降低应用性能的作法。
因为与数据库有关,所以这两个参数与性能有直接的关系。
1. jbo.doconnectionpooling
(1)=false,默认值,表明每个AM实例保留一个数据库连接,即使用户请求结束之后,依然保留,直到AM实例消亡。
优点:用户下一次请求时,不用再获取数据库连接。
缺点:大量的数据库连接被AM保留,即使这些连接未真正使用,导致服务器资源紧张。
(2)=true,表明每个AM实例只在请求期间保留一个数据库连接,用户请求结束之后,就释放数据库连接。
优点:及时释放数据库连接,节省服务器资源。
缺点:因为释放掉了数据库连接,需要保存当前cursor的位置(ADF-BC的原理如此),即Passivation,然后重新获取一个新的连接后再Activation,会导致性能下降。
(3)小结:如果最佳性能为首要目标,选择=false;如果以降低数据库连接数为首要目标,选择=true。
2. jbo.txn.disconnect_level
(1)=0,默认值,表明当AM释放掉数据库连接时,AM的状态(VO、RowSet、Cursor)会持久化到数据库中。
(2)=1,表明,表明当AM释放掉数据库连接时,AM的状态(VO、RowSet、Cursor)会持久化到内存中。
3. jbo.doconnectionpooling=true + jbo.txn.disconnect_level=1
既然单独jbo.doconnectionpooling=true,会由于Passivation和Activation而导致性能下降,那么作为补偿的手段之一设置jbo.txn.disconnect_level=1,可以弥补一些性能的下降。
结论
(1)如果用户并发数不是很高,并且降低数据库连接数不作为首要目标,那么可以选择jbo.doconnectionpooling =false,因为这样应用的性能比较好(在每次请求时不用重新获取数据库连接和AM状态的持久化)。
这是一种牺牲数据库链接资源保证应用性能的作法。
(2)如果用户并发数很高,并且降低数据库连接数作为首要目标,那么可以选择jbo.doconnectionpooling =true,同时设置jbo.txn.disconnect_level=1,这样在减少数据库连接的同时,AM的状态持久化到内存中。
这是一种节省数据库资源的同时,尽量不降低应用性能的作法。
(3)参数的选择最终要根据应用压力测试的结果,没有哪一种配置是适合所有应用的。
http://maping930883.blogspot.com/2012/07/adf160amconfiguration4.html
0 0
- AM使用指南之七:Configuration参数说明(4)
- AM使用指南之七:Configuration参数说明(1)
- AM使用指南之七:Configuration参数说明(2)
- AM使用指南之七:Configuration参数说明(3)
- AM使用指南之五:在AM中执行SQL语句
- AM使用指南之六:使用Shared AM提高性能
- AM使用指南之二:Nested AM与Root AM之间的Transaction关系
- fio使用指南(最全的参数说明)
- fio使用指南(最全的参数说明)
- Task Flow使用指南之七:SavePoints(1)
- Task Flow使用指南之七:SavePoints(2)
- Task Flow使用指南之七:SavePoints(3)
- AM使用指南之三:如何在Managed Bean中获取AM实例?
- AM使用指南之四:把AM中的方法发布为WebService
- Windows server 2003使用指南(七)
- Table 组件使用指南之七:获取选中的Rows
- 坐标转换之七参数
- AM使用指南:如何在Managed Bean中获取AM实例?
- 10.获取客户端指定路径下的文件目录,并传输至服务器端--服务器端
- 开博客了
- cocos2dx 运动+旋转动画 CCSequence CCAnimation CCAnimate CCMoveTo CCCallFuncN
- 黑马程序员,黑马论坛------Scanner的小问题(大家来找茬)
- maven学习(仅供自己参考)
- AM使用指南之七:Configuration参数说明(4)
- HTTP协议的基本概念
- nfc开发
- STL之list
- 对JDBC的详解
- Android系统自带样式(@android:style/)
- 如何传递参数给Dynamic Region?
- POJ1408-Fishnet(线段求交)
- 基础知识--脚本语言