如何解决如何减少Atomikos中的getConnection时间消耗
我正在为Oracle使用Atomkios XA配置。
这是我用于创建数据源连接的代码。
OracleXADataSource oracleXADataSource = new OracleXADataSource();
oracleXADataSource.setURL(sourceURL);
oracleXADataSource.setUser(UN);
oracleXADataSource.setPassword(PS);
AtomikosDataSourceBean sourceBean= new AtomikosDataSourceBean();
sourceBean.setXaDataSource(oracleXADataSource);
sourceBean.setUniqueResourceName(resourceName);
sourceBean.setMaxPoolSize(max-pool-size); // 10
atomikos:
datasource:
resourceName: insight
max-pool-size: 10
min-pool-size: 3
transaction-manager-id: insight-services-tm
这是我的配置,适合中等用户负载约5000个请求。
但是,当用户数量增加时,假设有10000个以上的请求,此类com.atomikos.jdbc.AbstractDataSourceBean:getConnection的消耗将比正常情况更多。
该课堂时间大约需要1500毫秒,但正常时间则少于10毫秒。我可以理解用户需求的增加,getConnection将处于等待状态以从连接池中选择空闲连接,因此,如果增加max-pool-size,我的问题是否会解决或其他可用的选项功能来解决我的问题。
解决方法
尝试在您的数据源上设置 concurrentConnectionValidation=true。
如果这没有帮助,请考虑免费试用商业 Atomikos 产品:
https://www.atomikos.com/Main/ExtremeTransactionsFreeTrial
最佳
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。