[jbossts-issues] [JBoss JIRA] (JBTM-2390) port the RTS test org.jboss.jbossts.star.test.PerformanceTest to a benchmark

Michael Musgrove (JIRA) issues at jboss.org
Fri May 8 09:30:46 EDT 2015


    [ https://issues.jboss.org/browse/JBTM-2390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13066501#comment-13066501 ] 

Michael Musgrove commented on JBTM-2390:
----------------------------------------

The port is giving me unusual results which I am investigating (I'll update the JIRA with the outcome). I am finding that a transaction with two participants is running 15 times more slowly than one with no participants. The number of requests in the two scenarios differ in the ratio 10:4 and one of them is doing disk writes but I would not expect that to account for a 15 fold difference. The two test scenarios are as follows:

# client starts a (RTS) transaction and sends requests to two non transactional services.
# client starts a (RTS) transaction and sends requests to two transactional services.

The first scenario requires 4 http requests:
* 1 request to the coordinator to begin a transaction
* 2 non transactional service requests
* 1 request to the coordinator to end the transaction

The second scenario requires 10 http requests:
* 1 request to the coordinator to begin a transaction
* 2 transactional service requests
** 2 participant enlist requests to the coordinator
* 1 request to the coordinator to end the transaction
** 2 prepare requests (one for each enlisted participant)
** 2 commit requests

The benchmark output (on my laptop) for these two scenarios (I include the case of no transaction for completeness) is:

{code}
java -jar ArjunaJTA/jta/target/benchmarks.jar "org.jboss.narayana.rts.*TxnTest.*" -i 1 -wi 0 -f 1 -t 1 -r 100

Benchmark                             Mode   Samples        Score  Score error    Units
o.j.n.r.EmptyTxnTest.testEmptyTxn    thrpt         1     1447.812          NaN    ops/s
o.j.n.r.NoTxnTest.testNoTxn          thrpt         1     4720.317          NaN    ops/s
o.j.n.r.TxnTest.testTxn              thrpt         1       90.956          NaN    ops/s

{code}

The benchmark with no transaction (two service requests) versus a transaction with no participants is slightly puzzling too since neither involves disk writing, uses half as many http requests and yet is 3 times faster (should have been twice as fast).

I am running the coordinator and services on Undertow. I did try configs where the services were collocated with the coordinator and then when they were on different Undertow servers with no significant change in behaviour.

> port the RTS test org.jboss.jbossts.star.test.PerformanceTest to a benchmark
> ----------------------------------------------------------------------------
>
>                 Key: JBTM-2390
>                 URL: https://issues.jboss.org/browse/JBTM-2390
>             Project: JBoss Transaction Manager
>          Issue Type: Task
>            Reporter: Michael Musgrove
>            Assignee: Michael Musgrove
>             Fix For: 5.later
>
>
> Currently this test is run on an ad hoc basis on the NCL cluster. I would like it moved into the benchmark suite for more regular testing.
> I have started work on this task but am finding threads deadlocking which has delayed the port.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jbossts-issues mailing list