The Grinder Properties File
The Grinder worker and agent processes are controlled by
    setting properties in the grinder.properties
    file.
All properties have default values. If you start The Grinder
    agent process without a grinder.properties file it
    will communicate with the console using default addresses, use one
    worker process, one thread, and make one run through the test
    script found in the file grinder.py. This is not much
    use, so read on...
Table of properties
This table lists the properties understood by The Grinder engine.
| Property | Description | Default | 
|---|---|---|
| grinder.processes | The number of worker processes the agent should start. | 1 | 
| grinder.threads | The number of worker threads that each worker process spawns. | 1 | 
| grinder.runs | The number of runs of the test script each thread performs. 0 means "run forever", and should be used when you are using the console to control your test runs. | 1 | 
| grinder.processIncrement | If set, the agent will ramp up the number of
          worker processes, starting the number specified every grinder.processesIncrementIntervalmilliseconds. The
          upper limit is set bygrinder.processes. | Start all worker processes together. | 
| grinder.processIncrementInterval | Used in conjunction with grinder.processIncrement, this property sets
          the interval in milliseconds at which the agent starts new
          worker processes. | 60000 ms | 
| grinder.initialProcesses | Used in conjunction with grinder.processIncrement, this property sets
          the initial number of worker processes to start. | The value of grinder.processIncrement. | 
| grinder.duration | The maximum length of time in milliseconds that each
          worker process should run for. grinder.durationcan be specified in conjunction withgrinder.runs, in which case the worker
          processes will terminate if either the duration time or the
          number of runs is exceeded. | Run forever. | 
| grinder.script | The file name of the Jython script to run. | grinder.py | 
| grinder.jvm | Use an alternate JVM for worker processes. Defaults to javaso you do not need to specify this if yourPATHis sensible. | java | 
| grinder.jvm.classpath | Use to adjust the classpath used for the worker process
          JVMs. Anything specified here will be prepended to the
          classpath used to start the Grinder processes. Relative paths are evaluated based on the worker process working directory. Scripts distributed using the console can refer to libraries in the distribution directory by using relative paths in this property. | |
| grinder.jvm.arguments | Additional arguments to worker process JVMs. | |
| grinder.logDirectory | Directory to write log files to. Created if it doesn't already exist. | The local directory. | 
| grinder.hostID | Override the "host" string used in log filenames and logs. | The host name. | 
| grinder.consoleHost | The IP address or host name that the agent and worker processes use to contact the console. | All the network interfaces of the local machine. | 
| grinder.consolePort | The IP port that the agent and worker processes use to contact the console. | 6372 | 
| grinder.console.httpPort | The HTTP port the user can reach to query the Grinder console service and the Grinder web console. | 6373 | 
| grinder.useConsole | Set to falseto set the agent and worker
          processes not to use the console. | true | 
| grinder.reportToConsole.interval | For advanced use only. The period at which each process sends updates to the console. | 500 ms | 
| grinder.initialSleepTime | The maximum time in milliseconds that each thread waits
          before starting. Unlike the sleep times specified in
          scripts, this is varied according to a flat random
          distribution. The actual sleep time will be a random value
          between 0 and the specified value. Affected by grinder.sleepTimeFactor, but notgrinder.sleepTimeVariation. | 0 ms | 
| grinder.sleepTimeFactor | Apply a factor to all the sleep times you've specified,
          either through a property of in a script. Setting this to 0.1would run the script ten times as fast. | 1 | 
| grinder.sleepTimeVariation | The Grinder varies the sleep times specified in scripts
          according to a Normal distribution. This property specifies
          a fractional range within which nearly all (99.75%) of the
          times will lie. E.g., if the sleep time is specified as 1000
          and the sleepTimeVariation is set to 0.1, then
          99.75% of the actual sleep times will be between 900 and
          1100 milliseconds. | 0.2 | 
| grinder.reportTimesToConsole | Set to falseto disable reporting of timing information to the
          console; other statistics are still reported. | true | 
| grinder.startEmbeddedAgent | This parameter is applicable to the Grinder Web Console only
          If set to true, The Web Console becomes an agent.
          This embedded mode allow the user to have a single process playing the 
          role of the web console and the agent. This is useful when the user
          is not sensitive the the topology of the injection cluster. | false | 
| grinder.debug.singleprocess | If set to true, the agent process spawns engines in
          threads rather than processes, using special class loaders to isolate
          the engines. This allows the engine to be easily run in a debugger.
          This is primarily a tool for debugging The Grinder engine, but it
          might also be useful to advanced users.
          GrinderStone uses this property to
          allow interactive debugging.If you want instrumentation to work, you must specify
           | false | 
| grinder.debug.singleprocess.sharedclasses | For advanced use only. Specifies a comma separated list of
          names of classes that should be shared between the worker engines when grinder.debug.singleprocessistrue.
          Class names can end with a*wildcard. See
          bug 134 for more details. | 
Specifying properties on the command line
You can also specify these properties as Java system properties in the agent command line. For example, on UNIX systems the following command line can be used to generate log directories based on the current date.
Property values set as Java system properties override values set in the
      grinder.properties file. Only properties with names that
      start "grinder." are considered.
      
