You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2022/11/15 13:17:34 UTC

[directory-fortress-core] branch master updated: a bit more formats, minor corrections

This is an automated email from the ASF dual-hosted git repository.

smckinney pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-fortress-core.git


The following commit(s) were added to refs/heads/master by this push:
     new 7ec9923a a bit more formats, minor corrections
7ec9923a is described below

commit 7ec9923aa2ca52b7881256bfda2199cbd63d5db1
Author: Shawn McKinney <sm...@symas.com>
AuthorDate: Tue Nov 15 07:17:29 2022 -0600

    a bit more formats, minor corrections
---
 README-LOAD-TESTING.md | 129 +++++++++++++++++++++++++------------------------
 1 file changed, 66 insertions(+), 63 deletions(-)

diff --git a/README-LOAD-TESTING.md b/README-LOAD-TESTING.md
index 7cde55e7..a60fe404 100644
--- a/README-LOAD-TESTING.md
+++ b/README-LOAD-TESTING.md
@@ -51,41 +51,42 @@ ________________________________________________________________________________
           '-----------------'
 ```
 
- Uses the ```mvn verify``` command to invoke maven jmeter plugin which then executes jmeter tests running various fortress core test cases. 
+- Uses the ```mvn verify``` command to invoke maven jmeter plugin which then executes jmeter tests running various fortress core test cases. 
+
 ___________________________________________________________________________________
 ### 2. Load the security policy
 
- ```
- mvn install -Dload.file=./ldap/setup/JmeterTestPolicy.xml
- ```
+```bash
+mvn install -Dload.file=./ldap/setup/JmeterTestPolicy.xml
+```
 
- Loads a test security policy used in the subsequent jmeter test cases. For example, the test users may be assigned a particular role that's provisioned here.
+- Loads a test security policy used in the subsequent jmeter test cases. For example, the test users may be assigned a particular role that's provisioned here.
 
 ___________________________________________________________________________________
 ### 3. Find the .jmx files
 
 - These metadata files contain parameters that correspond with each test case.
 
- A. Add User:
-  [src/test/jmeter/ftAddUser.jmx](src/test/jmeter/ftAddUser.jmx)
+A. Add User:
+ - [src/test/jmeter/ftAddUser.jmx](src/test/jmeter/ftAddUser.jmx)
 
- B. Del User:
-  [src/test/jmeter/ftDelUser.jmx](src/test/jmeter/ftDelUser.jmx)
+B. Del User:
+ - [src/test/jmeter/ftDelUser.jmx](src/test/jmeter/ftDelUser.jmx)
 
- C. Check User:
-  [src/test/jmeter/ftCheckUser.jmx](src/test/jmeter/ftCheckUser.jmx)
+C. Check User:
+ - [src/test/jmeter/ftCheckUser.jmx](src/test/jmeter/ftCheckUser.jmx)
 
 ___________________________________________________________________________________
 ### 4. Setting the jmeter parameters
 
- These settings affect the length, duration, and the number of threads:
+These settings affect the length, duration, and the number of threads:
 
- * **LoopController.continue_forever**: boolean value, if *false*, test duration is controlled by numbers of *loops* and *threads*.
- * **LoopController.loops**: integer value, contains the number of iterations each thread performs the test function.
- * **ThreadGroup.num_threads**: integer value, contains the number of threads to use in the test.
- * **ThreadGroup.ramp_time**: integer value, number of seconds for starting threads.  A rule of thumb, set to same as num_threads.
+ - **LoopController.continue_forever**: boolean value, if *false*, test duration is controlled by numbers of *loops* and *threads*.
+ - **LoopController.loops**: integer value, contains the number of iterations each thread performs the test function.
+ - **ThreadGroup.num_threads**: integer value, contains the number of threads to use in the test.
+ - **ThreadGroup.ramp_time**: integer value, number of seconds for starting threads.  A rule of thumb, set to same as num_threads.
 
- For example:
+For example:
 ```jmx
 <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Fortress CreateSession" enabled="true">
     ...
@@ -99,33 +100,33 @@ ________________________________________________________________________________
 </ThreadGroup>
 ```
 
- This test will start ten threads in ten seconds.  Each thread executes the *createSession* function 1000 times before terminating.
+- This test will start ten threads in ten seconds.  Each thread executes the *createSession* function 1000 times before terminating.
 
 ___________________________________________________________________________________
 ### 5. Run the tests
 
- From **FORTRESS_HOME** folder, enter the following command from a system prompt:
+From **FORTRESS_HOME** folder, enter the following command from a system prompt:
 
- A. Add Users:
+A. Add Users:
  
- Will add user entry.  Optionally will perform an update and/or role assignment.
+- Will add user entry.  Optionally will perform an update and/or role assignment.
  
 ```bash
 mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1 -Dverify=true -Dsleep=30 -Dupdate=true -Dou=loadtestu -Drole=jmeterrole
 ```
 
-  This test adds users.  It uses runtime arguments to define behavior:
-   * hostname=foo     <-- optional field useful for distributing the load across servers in a multi-master env, it will override what's in fortress.properties 
-   * qualifier=A1     <-- this is used to construct userid: hostname + qualifier + counter 
-   * verify=true      <-- will read after operation to verify success 
-   * update=true      <-- will edit user's description if set to true 
-   * sleep=30         <-- sleep this many millisecones after each op 
-   * ou=loadtestu     <-- this is a required attribute on user entry and must exist in user ou tree prior to test 
-   * role=jmeterrole  <-- this is an optional attribute on user entry 
+This test adds users.  It uses runtime arguments to define behavior:
+ - hostname=foo     <-- optional field useful for distributing the load across servers in a multi-master env, it will override what's in fortress.properties 
+ - qualifier=A1     <-- this is used to construct userid: hostname + qualifier + counter 
+ - verify=true      <-- will read after operation to verify success 
+ - update=true      <-- will edit user's description if set to true 
+ - sleep=30         <-- sleep this many millisecones after each op 
+ - ou=loadtestu     <-- this is a required attribute on user entry and must exist in user ou tree prior to test 
+ - role=jmeterrole  <-- this is an optional attribute on user entry 
      
-  * All but hostname may also be set as properties in [add config](src/test/jmeter/ftAddUser.jmx) or [del config](src/test/jmeter/ftDelUser.jmx) files.
+- All but hostname may also be set as properties in [add config](src/test/jmeter/ftAddUser.jmx) or [del config](src/test/jmeter/ftDelUser.jmx) files.
 
- B. Delete Users:
+B. Delete Users:
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftDelUser -Dqualifier=A1 -Dverify=true -Dsleep=30
@@ -133,24 +134,24 @@ mvn verify -Ploadtest -Dtype=ftDelUser -Dqualifier=A1 -Dverify=true -Dsleep=30
 
   * Same properties as add except for 'ou', which is not used for delete ops
 
- C. Check Users:
+C. Check Users:
  
- Will perform a createSession.  Optionally reads the entry and/or permission checks.
+Will perform a createSession.  Optionally reads the entry and/or permission checks.
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftCheckUser -Dqualifier=A1 -Dverify=true -Dsize=20 -Dperm=jmeterobject.oper
 ```
 
-  This test performs createSession on users.  It uses runtime arguments to define behavior:
-   * size=20                  <-- defines the number of users in the test set
-   * Dperm=jmeterobject.oper  <-- this is an optional property, will perform permission checks if set
+This test performs createSession on users.  It uses runtime arguments to define behavior:
+ - size=20                  <-- defines the number of users in the test set
+ - perm=jmeterobject.oper   <-- this is an optional property, will perform permission checks if set
 
 ___________________________________________________________________________________
 ### 6. Understanding the tests
 
 A. Qualifier property.
 
-The add test generates userids based on: hostname + qualifier + counter.  The counter is global across all threads, so if you enable 20 threads * 100 loops, with a qualifier = 'A1', 2,000 users will be added:
+- The add test generates userids based on: hostname + qualifier + counter.  The counter is global across all threads, so if you enable 20 threads * 100 loops, with a qualifier = 'A1', 2,000 users will be added:
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1
@@ -164,23 +165,25 @@ hostname-A1-3
 hostname-A1-1000
 ```
 
- If you run the test a second time (before a delete run) there will be duplicates because it tries to add users with same userids again.  This is the idea of the 'qualifier'.  Change its value to ensure the uids remain unique across test runs.
+- If test runs a second time (before a delete run) there'll be duplicates because it tries to add users with same userids again.  
+- This is the idea of the 'qualifier'.  
+- Change its value to ensure the uids remain unique across test runs.
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A2
 ```
 
- Or, you can run a delete before the next add:
+- Or, run a delete prior to the next add:
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftDelUser -Dqualifier=A1
 ```
 
- Just make sure the thread and loop counts in ftDelUser.jmx are the same as ftAddUser.jmx
+- Just make sure the thread and loop counts in ftDelUser.jmx are the same as ftAddUser.jmx
 
 B. Verify
 
- If set to true, after every operation, a read of the entry will be performed.
+- If set to true, after every operation, a read of the entry will be performed.
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1 -Dverify=true
@@ -188,7 +191,7 @@ mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1 -Dverify=true
 
 C. Update
 
-If set to true, after every add, an update will be performed on user's description field.
+- If set to true, after every add, an update will be performed on user's description field.
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1 -Dupdate=true
@@ -196,7 +199,7 @@ mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1 -Dupdate=true
 
 D. Role
 
-If 'role' set as property, it will be assigned after the user has been added.  The role itself must already exist before being used in assignment to user.
+- If 'role' set as property, it will be assigned after the user has been added.  The role itself must already exist before being used in assignment to user.
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1 -Drole=jmeterrole
@@ -204,39 +207,39 @@ mvn verify -Ploadtest -Dtype=ftAddUser -Dqualifier=A1 -Drole=jmeterrole
 
 E. Perm
 
-This applies only to the CheckUser test.  If set, it will be used as permission in checkAccess call 10 times.  For example:
+- This applies only to the CheckUser test.  If set, it will be used as permission in checkAccess call 10 times.  For example:
 
 ```bash
 mvn verify -Ploadtest -Dtype=ftCheckUser -Dperm=jmeterobject.oper
 ```
 
-  Will call checkAccess:
-  
-  obj: jmeterobject op oper1
-  obj: jmeterobject op oper2
-  obj: jmeterobject op oper3
-  ...
-  obj: jmeterobject op oper10
-  
-These assignments must already exist before running this test.  
+- Calls checkAccess repeatedly:
+
+```  
+obj: jmeterobject op oper1
+obj: jmeterobject op oper2
+obj: jmeterobject op oper3
+...
+obj: jmeterobject op oper10
+```
+
+- These assignments must already exist (loaded via security policy) before running this test.  
 
 ___________________________________________________________________________________
 ### 7. Troubleshooting
 
 - The first place to look is the standard out.
-- These files listed below contain additional info.
+- The files listed below contain additional info.
 
-- A. View the results
-
-* target/jmeter/results/[DATE]-ftAddUser.jtl
-* target/jmeter/results/[DATE]ftDelUser.jmx.jtl
-* target/jmeter/results/[DATE]ftCheckUser.jtl
+A. View the results
+ - target/jmeter/results/[DATE]-ftAddUser.jtl
+ - target/jmeter/results/[DATE]ftDelUser.jmx.jtl
+ - target/jmeter/results/[DATE]ftCheckUser.jtl
 
 B. View the logs
-
-* target/jmeter/logs/ftAddUser.jmx.log
-* target/jmeter/logs/ftDelUser.jmx.log
-* target/jmeter/logs/ftCheckUser.jmx.log
+ - target/jmeter/logs/ftAddUser.jmx.log
+ - target/jmeter/logs/ftDelUser.jmx.log
+ - target/jmeter/logs/ftCheckUser.jmx.log
 ____________________________________________________________________________________
  
 #### END OF README