1

I am using JMeter to test performance of the following Server Infrastructure. The Code Base uses ICEfaces framework and hence generates dynamic ID's each time there is a new build.

I record the scripts and run them for different variants of load (10 Users, 20 Users, 30 Users and so on). Whenever a new code base is deployed, because of change in ID's, I have to re-record the scripts before I perform Test runs again. As of now I am able to satisfactorily get my job done. Standalone Server

I wish to take my job to a whole new level by trying to test performance on the following Server Infrastructure.

Cluster Configuration

The following are my issues -

  • Because of two different nodes (Node1 and Node2) each node has a unique set of dynamic ID's associated with it and when I record a script on a particular login session, I cannot be sure of the Node my session is pinned on and as a result the recorded script is tailor made for a single node and not a cluster.
  • When "Load Balancer" gets in action, I cannot be sure of the Node JMeter hits during performance run and for obvious reasons the run fails to generate results.

I want a cleaver way to record script which can successfully run on a multiple server configuration.

How to perform performance Testing on this configuration?

Compass
  • 5,867
  • 4
  • 30
  • 42
SohailAQ
  • 1,002
  • 1
  • 13
  • 25
  • I am not getting why do you need to know which server Jmeter is hitting? For Dynamic ids, correlation should do session handling for you. You are saying, you web server is routing request to app server A for first time and then to app server B next time. this can be avoided by sticky sessions i.e forcing requests to single server if it is served already but this can have little impact of performance testing (Results will not predict actual perf.) – Nachiket Kate Dec 23 '14 at 12:00
  • @NachiketKate That is the catch, I want to test the performance of the Cluster Configuration as a whole and not the performance behavior of an individual node. – SohailAQ Dec 23 '14 at 12:07
  • Right. I think by using above mentioned approach you will achieve 95% accurate performance testing for your setup. (sticky sessions.) If you need to test it as whole then you can have common ids on both app servers and then test the application. This should give you output which you expect. No need of sticky sessions as both servers have common pool of ids and thus can serve any request. This can be done on staging env. – Nachiket Kate Dec 23 '14 at 12:14
  • @Nachiket Kate, I request you to please read the question completely and carefully. I will highlight the points for you. "Because of two different nodes (Node1 and Node2) each node has a unique set of dynamic ID's associated with it" "When "Load Balancer" gets in action, I cannot be sure of the Node JMeter hits" Remember ICEfaces generate dynamic ID's. I need a way to record a script on the cluster as a whole, which can somehow tolerate dynamic ID's or better bypass them, which can successfully run on the Cluster no matter which Node is hit (due to Load Balancer Action) Thanks :) – SohailAQ Dec 24 '14 at 03:55

0 Answers0