-
1. Re: How to accelerate JBoss TM when JTS is enabled
ivagulin Mar 19, 2014 9:32 AM (in response to cheezzario)Have similar problem, easily demonstrated by application below:
https://github.com/ivagulin/j2ee-domains
Application has very simple post rest api method: it receives entity and persist it.
@POST
@Path("/create")
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void createDomain(Domain d) throws Exception {
em.persist(d);
}On default jboss-eap-6.2 with standalone-full.xml it handles ~3000 requests per second
[root@centos-6 ~/j2ee-domains]# python test-add-zone.py --host=10.29.39.20 --iterations=50000 --concurrency=16
3447.75776932 req/secwith jts enabled only ~100
[root@ivagulin-set5-mn ~]# grep -P '(transactions=|jts)' /usr/local/pem/jboss-eap-6.2/standalone/configuration/standalone-full.xml
<initializers security="identity" transactions="on"/>
<jts/>[root@centos-6 ~/j2ee-domains]# python test-add-zone.py --host=10.29.39.20 --iterations=5000 --concurrency=16
105.680888467 rec/sec -
2. Re: How to accelerate JBoss TM when JTS is enabled
tomjenkinson Jun 18, 2014 9:22 AM (in response to ivagulin)Hi,
The JTS implementation is slower than the local JTA implementation. An example of this is that the transaction manager will write a file per resource manager for preparing transactions. Most of these decisions are to support distributed nature of the implementations. There may be optimizations possible in this area for local transaction manager which can be discussed over in the Narayana forum (transaction manager implementation: Narayana) if you are interested.It is also possible that you are being hit by nagles algorithm: [JBPAPP-10603] Performance impact due to TCP_NODELAY in JacORB server socket - JBoss Issue Tracker
Hope it helps,
Tom