Using Jmeter to test Siteminder performance.

Document ID : KB000009366
Last Modified Date : 16/10/2018
Show Technical Document Details
Introduction:

Jmeter is a server performance testing tool freely available for download at:
http://jakarta.apache.org/jmeter/

This tool enables web servers to be tested independent of Siteminder allowing load tests to be run and performance metrics to be obtained.

Preparing Siteminder

Jmeter will not work correctly if a basic authentication scheme is used on your Siteminder protected site. Likewise if a two factor authentication scheme is used Jmeter will not be able to authenticate correctly.

Instructions:

Creating a Jmeter test script.

Here are the instructions to create a basic load script that you can modify for your own purposes:

  1. Open Jmeter using jmeter.bat or jmeter.sh located in jmeters bin folder.
     
  2. Right click on Test Plan, Select Add, Select Thread Group.
     
  3. Adjust the thread group settings to suit your personal preference.
     
    1. Enter a name for the group.
       
    2. Select how you'd like to handle errors.
       
    3. Enter the number of threads - here enter the maximum number of users you expect Siteminder to simultaneously support.

      For example if you have 10,000 users but only expect 10%
      to login any given time enter 1000.
       
    4. Enter a ramp-up time (the time jmeter takes to use all threads assigned).
       
    5. Enter a loop count, or select forever.
       
  4. Right click on the Thread Group just created, select Add, Select Config Element, then select HTTP request defaults.

    Figure 5
     
  5. Enter a name for the request defaults.
     
    1. Provide the full server name
      Do not use the servers IP or localhost this will not work.
       
    2. Enter the port number the webserver listens on.
       
    3. Enter http as the protocol
       
    4. Enter the path of the Siteminder protected application.
      Enter / to test the website root.

      Figure 6
       
  6. Right click on the thread group, select Add, Chose Sampler, select HTTP Request.
     
    1. Enter a name for the sampler.
    2. Select GET as the method
    3. Select redirect automatically, select use keepalive, select use multipart/for-data for HTTP POST.
      There is no need to provide a web server name, port number or path, this will be inherited from the HTTP Request defaults.
       
  7. Right click on the thread group, select Add, select Config element, select HTTP Authorization manager.
     
    1. Enter a name for the object.
    2. Click the add button
    3. Enter a base URL Username and Password for a user who can access the protected site.
      The base url sould be the base of the protected site for example http://www.mysever.com/protected if the protected folder is protected.
       
  8. Right click on the thread group, select add, select config element, select HTTP header manager.
     
    1. Enter a name for this object but do not add any headers to it.
       
  9. Right click on the thread group, select add, select config element, select HTTP Cookie Manager.
     
    1. Enter a name for the cookie manager.
    2. Select "Clear cookies each iteration"
    3. Select policy "rfc2109"
       
  10. Right click on the thread group, select add, select Listener, select Summary Report.
     
  11. Add any additional listeners you'd like, these listeners analyze the data returned during the test.
     
  12. Save your test plan.

Running the test

  1. Once you have created a test click the Run menu then select Start.
     
  2. When the test is running the thread status is displayed in the upper right hand corner of the jmeter window.

    Figure 7
     
  3. Press CRTL + , to stop the test at any time.