|
|
Other commercially available tools also play events fast enough using the graphical interface to mimic "one fast user". They do not create sessions on the server, which are extremely important to produce accurate performance characteristics. GroupSizr comes very close to mimicking the activity of real users by creating sessions and giving the users the capability of configuring a benchmark test with the utmost flexibility.
Here are some unique capabilities of GroupSizr:
GroupSizr has a built-in command checker which checks for validity of commands as they are supplied through a scriptfile. This validation mechanism mainly identifies syntactic errors and semantically malformed lines for some commands. !s and *s at the beginning of a new line are treated as comment characters and the rest of the corresponding lines are ignored. The commands are not case-sensitive and allow themselves to be abbreviated to the first 3 characters.
Here are the currently supported set of command verbs and the syntax for the commands.
If the arguments for the number of attachments is not supplied to the command, then the note will be added without attachments. If no arguments are specified for the field sizes, a zero length field will result by default.
The specific fields and the form which will be written to are specified in the "Database Design Settings" on the Basic Setup screen.
As in the case of the ADD command, the specific fields and the form which will be updated are specified in the "Database Design Settings" on the Basic Setup screen.
The above command invokes the Navigate command twice and thumbs through 10 peers in the given view.
This example opens the database JSCHMOE.NSF on the server Tokyo.
This example closes the database JSCHMOE.NSF on the server Tokyo.
In the above example, 10 Notes will be added to the database JSCHMOE.NSF on the server Tokyo. Each note will have a random small size field length of anywhere from 100 to 110 bytes, with the larger field being anywhere from 1000 to 1100 bytes in length (at random). The file will also consist of an attachment with file name att1.doc. This attachment file is implied to be found n the current execution directory.
If the argument for the attachment is not supplied to the command, then the note will be added without it. If no arguments are specified for the field sizes, a zero length field will result by default.
As in the case of the ADD command, the specific fields and the form which will be written to are specified in the "Database Design Settings" on the Basic Setup screen.
As in the case of the DBADD command, the specific fields and the form which will be written to are specified in the "Database Design Settings" on the Basic Setup screen.
Syntax: DBNAVIGATE #ofNavigates #NumberofPeers 0 0 0 <ServerName>
<DatabaseName>
Example: DBNAVIGATE 2 10 0 0 0 Tokyo JSCHMOE.NSF
The above command invokes the Navigate command twice and thumbs through
10 peers in the given view. The database used for this navigate operation
is JCHMOE.NSF on the server Tokyo.
If you would like to send to random number of users rather than to specific ones, you can use the RANDOM construct in the MAIL command. Here is an example.
Syntax: REPLICATE Res Log Res Res Res ReplCmd ReplicaServer DbtoReplicate
Example: REPLICATE 1 1 0 0 0 REPL TOKYO NOTESIZR.NSF
The above command would replicate the database called NOTESIZR.NSF (resident locally) with a replica on the remote server called TOKYO. It would also log all details of the replication to the GroupSizr Log.
REPLICATE 1 1 0 0 0 PULL TOKYO NOTESIZR.NSF
REPLICATE 1 1 0 0 0 PUSH TOKYO NOTESIZR.NSF
REPLICATE 1 1 0 0 0 REPL TOKYO
REPLICATE 1 1 0 0 0 PUSH TOKYO
REPLICATE 1 1 0 0 0 PULL TOKYO
In the last 3 examples, since a database was not specified, all the databases on the local machine will be replicated with corresponding replicas on the server TOKYO.
Syntax: NAN NoofPersonRecs UsrOffset res res res LastNamePattern
Example: NAN 300000 100000 0 0 0 JoeUser_
If the above command is executed, it will add 300K entries into the database under test. The target database design is assumed to be in the Name & Address Book format. The user names for the entries start with the text pattern "JoeUser_100001" (because of the LastNamePattern and UsrOffset parameteres specified above) and the last entry will have the text pattern "JoeUser_400000".
Syntax: NUN NoofPersonRecs UsrOffset res res res LastNamePattern
Example: NUN 200 500000 0 0 0 JoeNewUser_
If the above command is executed, it will update 200 random entries in the database under test. The user names for the entries start with the text pattern "JoeNewUser_500001" (because of the LastNamePattern and UsrOffset parameteres specified above) and the last entry will have the text pattern "JoeNewUser_500200".
Syntax: NAG NofGrps GrpOffset NofUsrs UsrOffset resrvd GrpNamePattern
LastNamePattern
Example: NAG 100 30 1000 200000 0 TestGroup_ JoeUser_
If the above command is executed, it will add 100 entries into the database under test as group records. The target database design is assumed to be in the Name & Address Book format. The Group names for the entries start with the text pattern "TestGroup_31" (because of the GrpNamePattern and GrpOffset parameteres specified above) and the last group entry will have the text pattern "TestGroup_130". Each group entry will consist of a 1000 PersonName fields starting with the text pattern of "JoeUser_200001" and ending with the pattern "JoeUser_201000".
Syntax: NUG NofGrps GrpOffset NofUsrs UsrOffset resrvd GrpNamePattern
LastNamePattern
Example: NUG 10 40 3000 500000 0 NewTestGroup_ NewJoeUser_
If the above command is executed, it will update 10 entries into the database under test as group records. The target database design is assumed to be in the Name & Address Book format. The Group names for the entries start with the text pattern "NewTestGroup_41" (because of the GrpNamePattern and GrpOffset parameteres specified above) and the last group entry will have the text pattern "NewTestGroup_50". Each group entry will consist of a 3000 PersonName fields starting with the text pattern of "NewJoeUser_500001" and ending with the pattern "JoeUser_503000".
Other Examples of the RCONSOLE command
RCONSOLE 1 1 0 0 0 SHOW TRANS
RCONSOLE 1 1 0 0 0 SHOW USERS
RCONSOLE 1 1 0 0 0 LOAD ROUTER
RCONSOLE 1 1 0 0 0 TELL ROUTER QUIT
RCONSOLE 1 1 0 0 0 ROUTE LONDONHUB
RCONSOLE 1 1 0 0 0 LOAD REPLICA
RCONSOLE 1 1 0 0 0 REPL TOKYO
RCONSOLE 1 1 0 0 0 REPL TOKYO\NAMES.NSF
RCONSOLE 1 1 0 0 0 PULL TOKYO\NAMES.NSF
RCONSOLE 1 1 0 0 0 PUSH TOKYO\NAMES.NSF
RCONSOLE 1 1 0 0 0 UPDALL -F NOTESIZR.NSF
RCONSOLE 1 1 0 0 0 UPDALL -V NOTESIZR.NSF
The last few commands illustrate how you can bypass the default scheduling algorithms in the Notes Name and Address books to do scheduled Replication, View Indexing and Full Text Indexing using the RCONSOLE command.
Syntax: RUNFOR #seconds
Example RUNFOR 3600
The above example command would halt a test after an hour f testing. The RUNFOR command overrides the REWIND command.
GroupSizr supports additional arguments for the PAUSE command to control script execution based on certain server events. The extended syntax for the new PAUSE command is show below:
Syntax2: PAUSE seconds [seconds] res res res UNTIL Pattern0 [Pattern1]
..
Example2: PAUSE 10 15 0 0 0 UNTIL Indexer
In the above example, the script is forced to pause UNTIL the "Show Tasks" command indicates that the Indexer is running. Remember that the text pattern could be anything which shows up when you do a "Show Tasks" command on the console, and is case sensitive.
Syntax3: PAUSE seconds [seconds] res res res UNLESS Pattern0 [Pattern1]
..
Example3: PAUSE 10 15 0 0 0 UNLESS Router
In the above example, the script is forced to pause UNLESS the "Show Tasks" command indicates that the Router is running. This command is used to pause the script until the Router is loaded (externally or programmatically). Again, remember that the text pattern could be anything which shows up when you do a "Show Tasks" command on the console, and is case sensitive.
The "PAUSE UNTIL" and the "PAUSE UNLESS" commands give you a greater
flexibility to run extended test sets without operator attendance.
For those users who want to target specific Notes Forms, Views, Fields, and with specific content instead of randomly generated data, GroupSizr provides a powerful set of advanced commands. These commands enforce more syntax. These commands have the following general features:
The above command is a different form of the ADD and DBADD commands that we have presented above. *VERY IMPORTANT NOTE* The example syntax presented above spans multiple lines just for editorial clarity. In the real script, the entire command would be in a single line. Now let us look at how to develop a command where we can write more data into the note using the NVADD command.
NVADD serverName=Tokyo&databaseName=NOTESIZR.NSF&formName=SampleForm&
textField1=Field1&tfValue1=Test&textField2=Field2&tfValue2=TestTest&
textField3=Field3&tfValue3=Test3&textField4=Text4&tfValue4=TestTest4&
textField5=Field5&tfValue5=Test5&textField6=Text6&tfValue6=TestTest6&
textField7=Field7&tfValue7=Test7&textField8=Text8&tfValue8=TestTest8&
textField9=Field9&tfValue9=Test9&textField10=Text10&tfValue10=TestTest10&
textField11=Field11&tfValue11=Test11&textField12=Text12&tfValue12=TestTest12&
textField13=Field13&tfValue13=Test13&textField14=Text14&tfValue14=TestTest14&
textField15=Field15&tfValue15=Test15&
numberField1=Number1&nfValue1=12345&numberField2=Number2&nfValue2=12345&
numberField3=Number3&nfValue3=12345&numberField4=Number4&nfValue4=12345&
numberField5=Number5&nfValue5=12345&
attach1=attachment1.txt&attach2=attachment2.txt&attach3=attachment3.txt&
attach4=attachment4.txt&attach5=attachment5.txt
In the above example, we have developed a command that can write data to 15 text fields, 5 Number Fields and 5 attachments.
Note that if you do not explicitly supply a database name, form name
and server name to the NVADD command, these values will be sourced automagically
from the values that you supplied as part of GroupSizr "Basic Setup".
In addition to or instead of specifying just the formName for a note
to be picked up to be updated in random (default), the user can taget a
specific note using the noteID construct. To accomplish this, the NoteID
has to be specified as Hex (HexaDecimal) quantity. Having a ...¬eID=12EF&..
argument as part of the command is all you need instead of the ..&formName=Form1&..
argument.
Note that specifying the noteID argument for the NVADD command has
no effect because Notes generates the Note ID by itself for a new note.
If you want to update a note in a certain view, then you would supply the name of the view from which the note has to picked for the UPDATE operation. You would do this by specifying the name of the View as a parameter using the ..&viewName=<VIEWNAME>&.. connotation.
Note that if you specify both a viewName and a formName in your specification, the viewName will have precedence and will override the formName specification.
If you want to force GroupSizr to read a specific note instead of picking out one in random, you can specify the ..¬eID=<NOTEID>&.. parameter.
If you want to read a note in a certain view, then you would supply the name of the view from which the note has to picked for the UPDATE operation. You would do this by specifying the name of the View as a parameter using the ..&viewName=<VIEWNAME>&.. connotation.
Note that if you specify both a viewName and a formName in your specification, the viewName will have precedence and will override the formName specification.
This command works very similarly to the NVREAD command. Please read the other NV commands until this far to understand the syntax and workings of this command.
This command works with a given view, rebuilds the view (to update it) if required, and traverses through it like a user would. There are 2 ways a user would traverse the set of notes, Flat or Hierarchical. To specify the "type" of navigate we want GroupSizr to do, we have the "type=" Name-Value pair. type=NEXT_PEER navigates flatly whereas type=NEXT navigates hierarchically if there is such hierarchy.
Manipulating
and using the SETUP Applet
The SETUP applet allows you to set up and customize the test per your specifications. The SETUP applet has several tab panels that allow such customization and this subsection will explain these in more detail.

The total number of users (Simultaneous Notes Clients) that need to be simulated for the test that we are about to conduct can be specified by either entering this in the "Concurrent Users to Simulate" field or by using the dropdown button to pick from preset choices.
The SETUP screen allows the user to specify actions on errors generated
during test.
By default, all errors are ignored (but reported) and tests continue
in spite of them. This setting can be used if you can allow a margin for
errors to hapen during test.
The test can be configured where test users are dropped as they encounter
errors. This setting may be useful to figure out the optimal number of
users that can be fielded by the server or application.
The test can be configured to terminate the test when any user encounters
errors. This setting is frequently used during reliability and regression
testing of applications.
There is also a mode where you could choose to retry Notes Operations
whenever errors occur. This setting mimics the way some real applications
work.
Choosing
a script file to use for test
The Script File is used to play scripts which contain commands which instruct the GroupSizr run-time kernel about operations that we want to play through each simulated user. You can also view or edit the script file from here.
Choosing
the Notes/Domino Server and Database Under Test
The Notes Server Name could be "local", which is used to test local Notes Database services. This field could also be used to specify remote Notes servers. The database under test is one that has the design qualities specified by fields in the advanced setup screen (which we shall examine next). The template NOTESIZR.NSF is supplied with the GroupSizr media and serves as the default server under test.
Before we start a new test, let us look at some of the other settings that can be manipulated as part of test SETUP.

The Form Name is the name of the form that you want to target. There are 2 text fields, a Time Field and a View that you can specify for the tests. If you DO NOT want to use any of these fields, you can blank the input to ignore the field altogether.

The Log File is used to Log information about each command into a file that can be analyzed later. This "Per Operation Result Log" is written in Comma Separated Variable (CSV) format which can be imported into popular spreadsheet programs.
What follows is a section of the log file created during this test.
Time:9989, USER#: 48, 0 ms, -REA
Time:9989, USER#: 48, 0 ms, -REA
Time:10001, USER#: 47, 6 ms, -ADD
Time:10042, USER#: 47, 41 ms, -ADD
Time:11609, USER#: 46, 15 ms, -ADD
Time:11622, USER#: 46, 13 ms, -ADD
Time:12693, USER#: 45, 14 ms, -ADD
Time:12741, USER#: 49, 4574 ms, -PAU
Time:13024, USER#: 45, 331 ms, -ADD
Time:13024, USER#: 49, 283 ms, -REA
Time:13024, USER#: 49, 0 ms, -REA
Time:13024, USER#: 49, 0 ms, -REA
The Time: field shows the relative time in Milliseconds from test start time. The User#: field is the identity of the simulated user for the experiment. This is followed by a field which shows the Round-Trip Response-Time for this operation, and the last field show the type of operation that was performed by the user.
The location of the NOTES.INI is an informational text box which gets set automatically at install time. If you have multiple vrsions of Notes running at the same time, this message may be useful to figure out the exact location where GroupSizr is installed and running.


The Operation Time-out parameter defines the length of time that a request
will wait to be serviced when inactivity occurs. If the request takes longer
than this specified time, the request will terminate and an error will
result. This error can be caught and thrown if desired or can terminate
the user or experiment, as defined in the "Error Handling" panel. Note
that if you anticipate the operation to take a long period of time, you
would need to set this parameter to be high enough value. Note that you
can set the timeout value to "0" and override this function.
It may be important in certain test scenarios to replicate the pattern in which users get created during test. GroupSizr gives you the ability to ramp up users by allowing you to specify the Minimum frequency and Maximum frequency of creation.
For example, if you wanted users to be created between 5 seconds and 20 seconds, you would specify 5 seconds in the "Minimum Frequency Text box" and 20 Seconds in the "Maximum Frequency Text box". Note that the users will still be created at random.
If you want to create users at a constant rate (rather than being random
as in the above example), you can do this by keeping the values in the
"Minimum Frequency Text box" and " "Maximum Frequency Text box" the same.
This panel also allows user to be automatically desynchronized so that not all users are generating requests at the same time. This is recommended to mimic real world behavior. A user can also defeat automatic de-synchronization and put de-synchronization commands manually in the script. file. This is done by having PAUSE commands at the top of the script file. As an example a "PAUSE 0 300" command at the top of the script file starts user activity randomly between 0 and 5 minutes.
Automatic de-synchronization can be disabled to enable very quick user
RampUp. This can be useful to try quick tests with large number of users
without necessarily waiting for GroupSizr to RampUp over an extended period
of time.
Logging
transactions to check Data Integrity of Server. This checkbox
enables the logging of data for integrity
checking, which is described in a later section. Note that this feature
will write data to local storage (LOG.DAT file in GroupSizr program directory)
and can impair ability to generate high loads. Also, this will write significant
volumes of data depending on the length of the test and the workload offered
to the server.
This is a shortcut to quickly run tests without pauses. This could be
desirable in many scenarios, especially during debug of scripts or application.
In such cases the Sizr is usually in "single user mode" - number of users
simulated = 1.
There are other cases where this is used to simulate very large loads
by ignoring all the "Pause" events in the script.
By default, each user after becoming active will start simulating test activity as defined by the basic test script or the test script assigned to that user. This is the natural and the best way of conducting tests because this is exactly the pattern that happens in real life.
However, there are sometimes specific needs to understand the impact of a large number of users hitting a server at the same time. Such tests can be used to determine the health of the server under extremely bursty workloads. GroupSizr can enable these tests by proving the test user the ability to "start simulating user activity only after all users are ramped up". In this case, GroupSizr will wait for all users to become active and then will hit the server with an active workload.
This "Automatic De-synchronization" feature can also be used creatively
in cases where such bursty tests are being designed. Since the bursty tests
by definition defeat user de-synchronization, the "Automatic de-synchronization"
option can be turned off for such tests to enable users to become active
as fast as the workload generator can ramp up the users.

By default, the collections are started when the test starts - user hits the "start test" button - and ends when test activity ends.
Collections can also be started "after user Rampup". This method analyzes the data that is collected only after all users have been activated. The time between the first user becoming active to the last user becoming active is the total RampUp time.
In some cases, you may want to enable collections after a specific period of time. You can do this by using the third option and by specifying the time. Note that the time is specified in Milliseconds.
As in the case where the test user can define the start of collections, the time when the collections can be ended can also be customized using this panel. Collections can be started "before user RampDown". This method analyzes the data that is collected until the time when the first user exits from the experiment. The time between when the first user completes test activity to the time when the last user completes such activity is defined as RampDown time.
In some cases, you may want to enable collections until a specific period of time. You can do this by using the third option and by specifying the time when you want to end collections. Note that the time is specified in Milliseconds.
Irrespective of how you define the collection/marshalling of test statistics, the test harness will still collect the data for all operations and record them in the log. So, the customization of test statistics can be used as a way to use GroupSizr to "pre-analyze test data" without sacrificing the ability to do post-test analysis.
Once you have completed the required setups in this screen, you can
proceed to execute the test by depressing the Start Test button (in the
Vital Settings/Controls panel). This will start the experiment and pop
the display to monitor run-time events.

During some tests, there comes a need to simulate users who do very different things. For example, when you are trying to mimic some users whose jobs are technical in nature and others whose jobs are administrative in nature, etc., it can be quite painful to come up with a single script which models the collective behavior of these users. One solution is to run different test instances for each user type and then merge the result sets. But even this approach can be quite tedious, error prone and requires excessive manual coordination. Technovations has invented a new and simple paradigm so you do not have to endure such pains any more.
GroupSizr gives you the ability to simulate such users by eliminating the need for modeling/result set merging. This is enabled by simulating multiple scripts in the same run. There are 3 approaches to accomplishing this:
Assigning by Pattern:
Here is how this is done:
Let us assume that we need to simulate 25 users of a certain type and 975 users of a certain different type. In this case, we create 25 files as described above (say mult_1.scr through mult_25.scr with directives for User#1 through User#25 respectively). The basic script file that will be used for the test will consist of directive for the rest of the 1000 users (975).
GroupSizr will specifically search for the mult_*.scr pattern while assigning the individual scripts to users. When it cannot find a file that matches the specific pattern, it will assign the basic script pointed to by the "script file" field to that user. For example, if mult_26.scr does not exist (according to our example, it will not be), then the basic script is assigned to User#26.
Assigning by File
It is also possible to assign explicity using a text file. This is accomplished by specifying the bonding between a script and a simulated user. Picture below shows a file which defines such bonding.

Note that if a bond has not explicitly been defined, the test will automatically allocate the "basic test script" (defined in the Control Panel Applet of Setup) for this particular user.
Assigning Scripts Randomly
In some cases, it may be desirable to allocate script users randomly as the user is being created. This can be accomplished by defining a text file that contains a set of scripts that will be picked up randomly by each user on creation. Here is a illustration of such a file:

Note that the probability of choosing a specific script is defined implicitly
by the number of occurrences of such a script in the container file.
There may be several reasons why you may want to stop a test, ranging
from "Satisfactory collection of data" to "Test needs more refinements".
In any of these cases, there are 2 ways to stop the tests. The "Soft Termination"
mode issues a signal to all users to terminate tests after completing the
current task at hand. The "Hard Termination" option specifies that the
test should be terminated immediately and all activity should be truncated
to instantly "obey" the termination directive.
When using the MAIL command to send mail, recipients can be specified
as part of the command (as described in the script syntax section of this
document). While this can be very useful, a even more useful paradigm would
be to distribute the messages across a larger set of users, and equally
importantly, to control the distribution statistically, but with a very
simple interface. This can be accomplished using the MAILLIST file.
The maillist file has a set of user entries which the MAIL command can
pick from when it is instructed to pick users at RANDOM.

Would you like to create more than 2000 users ?
Would you like to create users from multiple distributed test locations
?
Would you like to manage tests easily (from a setup and go perspective)
?
Would you like result sets merged automatically into one comprehensive
report ?
If you answered yes to one or more of these questions, you need the
power of Technovations Load Director and Load Module logic to do this. Use of Load Director and
Load Modules are part of GroupSizr enterprise edition. The use of these are
also part of the GroupSizr training sessions.
The next screen-shot shows the GroupSizr run-time monitor. On the left-hand side of the screen, you see a graphical picture of the throughput through the experiment (shown in solid blue) and an average of the throughput (in dotted blue). Throughput is expressed in Operations/Second and is graphed over time (abcissa or x-axis). At the bottom of the monitor screen is a test state indicator.
The "Control Panel" of the run-time monitor also gives the user controls which can be used to PAUSE TEST or STOP TESTs. If a test is PAUSEd while executing, it sends a signal to all simulated users to stop after completing their current request. Just remember that if you have a lot of simulated users and you have heavy load on the server, the PAUSE may not happen right away.
The STOP TEST command button stops the test in the middle of test execution. Even if you decide to stop tests by using the STOP TEST button, you will still be able to get detailed statistics up until the time that you stopped the test. There are 2 STOP TEST modes.
Soft Termination : This is a signal which instructs all simulated users to stop after the current command. Again, Just remember that if you have a lot of simulated users and you have heavy load on the server, the STOP may not happen right away. Hard Termination : This is a hard stop at the time the user decides to terminate the test. The simulated users are all terminated immediately.
Hard Terminate is enabled by default. Hard Terminate is enabled by the presence of a HARD.TRM file in the GroupSizr installation directory. If you want to enable Soft Termination, all you have to do is to rename or delete the HARD.TRM file to some other name.
The run-time screen has updates the display every 5 seconds. This display interval can be changed for your convenience.
Using
the Run-Time Monitor Applet
This section will demonstrate the use of the Run-Time Monitor and the facilities that it provides for analysis and control.

Test Warmup Time is the time to setup the experiment. This starts from the time the user hit the "Start Test" button to the time when the first user is generated. Test Rampup Time is the time to start up all the users for the test. This is measured from the time when the first user starts up to the time when the last user is started up. Test Time is the time from when the last user is started up to the time when the first user completes or drops out of the test. Rampdown Time is the exact opposite to Rampup Time. This is the time from when the first user drops off or terminates to the time when the last user drops off or terminates.
In the viewing panel, there is a indicator which show the total number of Active users Vs. Specified Users. This shows you the progress through test Rampup, but there is a more important use for this. Consider te following example: You want to find out how many users you can put on your system without generating errors, etc. Let us for the moment think that this magic number is 632. Rather than conducting many tests to figure out this optimal number of users for your system, GroupSizr allows you to come up with the answer with a single experiment. How ? Just specify the number of user in the SETUP screen to a high number. In our case, let us set it to 800. Set the "Error Handling" in the SETUP screen to "Terminiate User on Errors". Start Test. As the test progresses, users who encounter errors are dropped off automatically. 632 users will be running on the system without errors and will be visible through the Run-time screen. And this is how you will know that your system can support 632 users.





The stats show the total number of each type of operation played against the system under test. The "Average Rate" is the Throughput metric which presents the total number of operations completed per unit time on the system under test. "Average Latency" is the metric which reveals Response Time details for different operations conducted against the System Under Test. This is an average number (in milliseconds). Other Numbers presented on this screen are the Standard deviation of response time about the average Response Time, which shows the variability of individual response times from the average. There are 3 discrete points on the Response Time graph that are captured and presented on this screen - The MIN, MAX and LAST values. These, along with the Standard Deviation can be used to get a quick synopsis of the test before going into more details.
The "ALL" category folds the metrics for the individual operations into an overall test average. It is possible that you may need more detailed statistical information than what is presented in this screen. For this exact reason, a complete audit trail of Response times and timestamps are maintained for each individual operation conducted through the test. This log is in comma delimited (spreadsheet-friendly) format which can be manipulated further if necessary.
From the Statistics screen, you will be given the option of documenting this test or to start a new one. If you choose to Start Another Test, you will be redirected to the Basic Setup screen. If you decide to document results, you will be directed to the screen which helps you define your results database configuration and to generate your test report..

Once you are done entering comments, you may want to commit results into the database. The Commit and report generation will take a few seconds, but at the end of the commit, you will be able to "View Results Database".

Reports can also be committed to a HTML file instead of commiting to a Notes Document. This commit to HTML is the recommended method because it enables the use of other analysis tools which are part of the GroupSizr suite. Here are the screens that show the commit to a HTML file.
And here is the demoReport.html file that was committed.
GroupSizr provides a mechanism to automatically document all test parameters and values of importance. This is useful for analysis at a later point of time.
Conducting
tests to check data integrity of Notes/Domino servers
With Notes/Domino servers being available on many high end platforms, including mainframes, there is an increasing push to litmus test the quality of the servers on these platforms in particular, and on Enterprise class installations in general. An integrity check is one where there is check and balance mechanism to make sure that the data written to the server is indeed what the server committed to the database. From a methodology perspective, it can be described very simply in 2 steps.
GroupSizr can be instructed to generate logs of all "Server invasive activity" in a structured text format. Server Invasive Activities comprise of any operations which do one of the following.
The Comparison Step. The comparison step would really consist of several parts.
GroupSizr presents a powerful paradigm to setup, run, view and develop reports for experiments which simulate hundreds of users. It very easily adapts to your test plans to deliver data and results from your experiments which can be used for Capacity Planning, Performance Analysis and Tuning, Regression Testing and Patch Management. Also, you can debug applications against realistic user Workloads and configurations for Reliability and Availability.
If you are developing a mission critical application, you can performance
engineer it using GroupSizr. Without it, you can only guess how good your
application could be under load.
If you are deploying a mission critical application and tuning it to
meet ever changing user workload needs, GroupSizr can not only make your
deployment more robust, but also optimize your deployment cycle by providing
you with the right testing technology as you incorporate new patches and
versions of Application software.