Benchmarks/Overhead with WS-AT
Hi,
Are there any Benchmarks or Performance Overhead indications for running a fully distributed transaction through WS-AT as opposed to something like System.Transactions? Some sort of rough rule of thumb percentage for a simple debit/credit transaction over two SQL Server (or Oracle) databases?
Will there be a Transaction Processing Council TPC-WS benchmark?
Regards Richard Maher
It's important to note that System.Transactions is an API, while WS-AT is a transaction propagation and coordination protocol. A program using System.Transactions may also use WS-AT as its propagation protocol when flowing transactions over WCF. So the two are not directly comparable.
In general, WS-AT is an interop protocol and like most interop protocols there is some overhead to using it. This overhead is mitigated by various optimizations that address a number of mainstream scenarios. There are worst cases and best cases. In truth, the only way to really get a sense of the performance of WS-AT in a scenario that you care about is to execute the scenario and measure it. I realize this isn't a very helpful answer, but there are many variables that go into a product or a protocol's performance and it's not always meaningful to reduce it to a specific number or percentage.