XA数据源的性能开销 - 最佳实践

时间:2012-09-06 18:07:09

标签: java performance java-ee distributed-transactions xa

我试图了解XA数据源对性能的影响。

在许多应用程序中,并非所有事务都需要参与分布式事务(意味着只有少数事务需要与其他资源一起分发/参与)。

性能的折衷是否足以配置两个数据源(XA和非XA各一个)?同样,答案是,这取决于场景,但我正在寻找“最佳实践”。

1 个答案:

答案 0 :(得分:4)

仅在需要时才使用XA事务。与非XA情况相比,XA提交代码路径的成本是3-4倍。大部分成本是由额外的沟通造成的。交易越短,成本越高。

有一些XA功能试图降低成本:例如单阶段提交优化和只读优化。如果底层数据库和驱动程序支持它,也可以使用可升级的XA。