Professional Documents
Culture Documents
How To Use Jmeter To Load Test T24
How To Use Jmeter To Load Test T24
No part of this document may be reproduced or transmitted in any form or by any means, for any purpose,
without the express written permission of TEMENOS HEADQUARTERS SA.
Warning: This document is protected by copyright law and international treaties. No part of this
document may be reproduced or transmitted in any form or by any means, electronic or mechanical,
for any purpose, without the express written permission of TEMENOS HEADQUARTERS SA
Unauthorized reproduction or distribution of this presentation or any portion of it, may result in
severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under
applicable law.” Information in this document is subject to change without notice.
Software Requisites
▪ T24 (V R08 used here)
▪ T24 Browser ( V 1.7 used here)
▪ Apache Jmeter (V 2.3.1 used here (Can be downloaded from
http://jakarta.apache.org/site/downloads/downloads_jmeter.cgi ))
Documentation: http://jakarta.apache.org/jmeter/usermanual/index.html
Tutorial: http://www.informit.com/guides/content.aspx?g=java&seqNum=269
Scenario: Let us consider a simple scenario of injecting 100 FT’s into the T24 System.
Here the ip is the ip of the machine where the tomcat is running and the port number can be given as
some other number than the default port number of tomcat (8080). Here we’ve given 9080. So IE
from now on will route the output to 9080.
▪ Login to browser using login page (Currently the latest version of browser (2.1) is not
working with JMeter. So for time being we use Browser version 1.7).
Login Page
FT Input
SignOff
We need to create two CSV files (One for Sign on and other for Dynamic fields of FT).
Userpass.csv – Format {Signon Name, Password , User Name}
▪ Important: Add a HTTP Cookie manager to play each request with the same session
ID
▪ Finally some listeners need to be added to the script to track the output (Requests
and also the response can be seen using a Tree listener.
userpass.csv IdAc.csv
The scripts would be pumped in to the T24 system and we may watch the process in the Tree listener.
And also if there are any problems, we can check them out at Response Data.
Configuring System
Before starting a full load test using Jmeter, the following needs to be configured properly to run the
test without any errors.
▪ Injector machines – Registry and JMeter
▪ Webserver – Websphere or Tomcat and T24 Browser
▪ MQ server (If used)
▪ AppServer - TCServer
If we have so many assertions and loops inside our testplan, Since Jmeter is a java based application,
JVM will require a lot of heap memory to execute the testplan which results in the crash of heap
memory(OutOfMemory exception). So we need to configure some JVM specific parameters in
jmeter.bat as follows.
Increase Heap Memory
set HEAP=-Xms512m -Xmx1024m
For understanding the Garbage collection and tuning heap size, the following link is useful.
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html
Configure Registry
Since we configured 300 users, that many simultaneous TCP connections should be there to send the
request to the webserver otherwise this will also result in heap memory crash. For increasing the Tcp
connections, and increase the data size that the tcp can transfer, We need to add two new DWORD
values In the following path and restart the injector machine.
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
1. TcpNumConnections – 300
2. TcpWindowSize – ffff (Determines the largest TCP receive window that the system offers.
The receive window is the number of bytes a sender can transmit without receiving an
acknowledgment. This entry overrides TCP's negotiated maximum receive window size and
replaces it with the value of this entry)
For understanding the parameters for tcp, the following link is useful
http://support.microsoft.com/kb/314053
Configure Webserver
• Increase the max sessions of T24 browser in channels.xml accordingly with the no of sessions
allotted for our browser channel in TCServer as follows (if you’re using browser channel).
<!--
<REPLYQUEUEPARAMETERS>NONE</REPLYQUEUEPARAMETERS>-->
<!--
<REPLYQUEUEPARAMETERS>ALL</REPLYQUEUEPARAMETERS>-->
<!--
<REPLYQUEUEPARAMETERS>QMANAGER_QUEUE</REPLYQUEUEPARAMETERS>-->
<REPLYQUEUEPARAMETERS>ALL</REPLYQUEUEPARAMETERS>
<MQHOST>10.0.1.12(1414)</MQHOST>
<MQMANAGER>t24.mq2.queue.manager</MQMANAGER>
<MQQUEUE>channel3.queue1.out</MQQUEUE>
<MQCHANNEL>t24.mq2.client</MQCHANNEL>
</CONSUMER>
</ADAPTER>
</CHANNEL>
• Increase the number of threads and JVM heapsize in the webserver. The parameters are
different for different webservers .
2. For Websphere
Use Websphere console and increase the threadpool size and JVM size from the console
itself.
Configure MQ Server
We need to add a separate queue for MQ server for handling web based transactions. If needed,
more channels per webserver channel can also be added (in case we’re going to use separate
channels for separate transactions)
Configure AppServer
The tcserver.xml file in tcserver needs to configured accordingly with separate adapters and
sessions. Need to decide and increase the number of sessions in tcserver in accordance with
the mix of transactions and requirements. And also the heap memory and garbage collection
needs to be tuned in a similar manner (of Jmeter.bat) for tcserver too in order to avoid the
crash due to JVM heap memory (since tcserver is also a java based application)
TCServer.sh
nohup java –Xms512M –Xmx1024M -Xcompactexplicitgc -Xrs -
Djava.endorsed.dirs=../lib/endorsed/jaxp13:../lib/endorsed/jaxb13 -jar ../lib/tcserver.jar -d&
And most importantly, we need to have sequential data in T24 to perform simultaneous and
multiple transactions. The following changes needs to be done.
Add a Counter
Setup the Increment and number format as follows (Number format is the format of the counter
variable. For example, if we set 1 as the start and increment 1 with format 00000000, the output of
the counter variable for every iteration (or loop) would be in the following order – 000000001,
000000002, 000000003, 000000004…. )
The values will be in the following sequence for the above example..
PUSER10001, PUSER10002, PUSER10003, PUSER10004…
FT1.csv