venerdì 15 novembre 2013

Scaling adding agents with IBM Rational Performance Tester

To scale with more users means, generally talking, increasing the parallelization and this can be done with clustering, adding new servers to divide the workload,  adding more agents, etc. 

When this is not possible to do then the alternative could be to increase the resources, but not always can be the solution to scale, depends on the applications and systems.

Instead scaling with IBM Rational Performance Tester (alias RPT, a product to simulate the load of many users that execute parallel requests to the servers) means run the RPT scripts increasing the number of virtual user that run them. At a certain point the number of virtual users can be increased adding new additional RPT agents.  

I show here the summarized steps how to do:

1) install the RPT agents. The number of agents depends on different variables:

- how much expensive is the execution of scripts
- how much users you need to scale up
- hardware and software performances of the RPT machines.

In this example the agents are installed on Windows platform.

2) define the related agents on the RPT workbench. For example these below:

agent1
agent2
agent3
agent4

3) assign these properties to each agent:

ROOTDIR=c:\RationalAgent
OPERATING_SYSTEM=WINDOWS
RPT_ENABLE_IP_ALIASING=FALSE
RPT_IPA_ENABLE_ALL_INTERFACES=TRUE
RPT_DEFAULT_MEMORY_SIZE=1500
RPT_VMARGS = 
-Xms1500m -Xgcpolicy:gencon -DKEEP_ALIVE_ACROSS_TEST=TRUE

Like in the screenshot below:






Note: RPT_DEFAULT_MEMORY_SIZEis overriden by the value -Xms1500m defined in of RPT_VMARGS 

4) On each agent Windows machine, edit the registry under HKEY_LOCAL_MACHINE > System > CurrentControlSet > Services > TCPIP > Parameters, adding the following parameters below. All the parameters have to be added as a DWORD and the values set as Decimal: 


MaxUserPort                 65534
TcpTimedWaitDelay            30
MaxFreeTcbs                 72000
MaxHashTableSize            65535
TcpWindowSize               65535
EnableDynamicBacklog        1
MinimumDynamicBacklog       20
MaximumDynamicBacklog       1000
DynamicBacklogGrowthDelta 10
TcpAckFrequency             1 


5) At this point with a RPT schedule you can distribute the execution of the RPT scripts among all different RPT agents. 

In this example below the schedule has 4 scripts equally distributed on all agents with a stage allocating 400 users that enter one each 2 seconds and run the scripts for 60 minutes. In total the test takes (2x400) seconds + 60 minutes to complete.



This screenshot shows that test1 runs on agents1:





Note: please refer to official IBM documentation:

http://pic.dhe.ibm.com/infocenter/rpthelp/v8r2m0/index.jsp?topic=%2Fcom.ibm.rational.test.lt.doc%2Ftopics%2Fc_perftips.html

http://www.ibm.com/developerworks/rational/library/optimize-load-handling/index.html



Nessun commento:

Posta un commento