Configuration of Tamino and UTX for lots of transactions

Hello everybody,
currently I am performing some tests with transaction and Tamino. My configuration is Tamino 4.4.1.4, java: 1.5.0_09, os: Windows XP 5.1.
My machine is Intel Pentium® D (dualcore) CPU 2.80 GHz, 2 GB RAM.
What I want to do is to configure Tamino and UTX so they can accept mass of calls. My current test starts 10 threads each of
them performs 10 000 transaction over Tamino. What I am usually receive is one of the following exceptions:

Caused by: com.softwareag.tamino.db.api.common.TAccessFailureException( message: Database access failure (8555, INOXME8555, Session error occurred, No session available - the number of available sessions is exhausted.), tag: JavaTaminoAPI_4_4_1_12, java: 1.5.0_09, os: Windows XP 5.1 ):

or

Caused by: com.softwareag.tamino.db.api.common.TAccessFailureException( message: Database access failure (9155, INOXYE9155, The requested document(s) could not be locked), tag: JavaTaminoAPI_4_4_1_12, java: 1.5.0_09, os: Windows XP 5.1 ):

Exceptions were thrown after 166 successful transactions. After some parameters modification of Tamino and UTX I succeeded to complete ~ 1200 transactions.
What I changed into the configuration of Tamino were:

  • XML work threads = 400
  • XML max sessions = 2000

In UTX:

  • Datastore thread pool size = 200 threads
  • Nominal XTS thread pool size = 500 threads

After this changes I succeeded to complete ~1200 transactions before my UTX crashed. I think it crashed, because there was
message from windows about “Low memory space on drive C” where my Tamino was installed. Now I moved it to my drive D where there is much more space.

What I want to ask is where I can read some data about how to configure my Tamino and UTX in order to run for example 100
concurrent threads each of which performs 10000 transactions after Tamino?

Thank you in advance,
Dobri

Hi Dobri,

With regards to UTX - this is only ever used when you are using global transactions, i.e. two-phase commit, in the context of something like Microsoft DTC. So in the scenario above, UTX isn’t used at all and shouldn’t crash! I suspect it was the Tamino database itself that crashed due to low disk space.

Hi Stuart,
thank you for the answer. You are right that UTX is used in 2PC. I use it in my example exactly this way. The truth is that it is just optimized to one-phase-commit (done by Atomikos which I use for TX management) because of the fact that one Tamino DB is used. So UTX is engaged in the above metioned scenario and this is for sure. I see in the Sys Management Hub that there are some clients and transactions in UTP. Additionaly in UTP logs I could see there are TX begin and TX commits after given TX.
The reason for the crash were the settings in UTX:

  • Datastore thread pool size = 200 threads
  • Nominal XTS thread pool size = 500 threads

When I decreased them in the range of 10 - 20 it worked fine.

Regards,
Dobri

Hi Dobri,

If UTX is crashing then it should be reported to your local Software AG support centre.

Regards, Stuart