Skip to content

v3.3 Intermediate Statistics

Andrey Kurilov edited this page Mar 26, 2017 · 1 revision

Introduction

Mongoose controls the concurrency level by accounting the active channels at any moment of the time. The channel may be an open file either established network connection. The channel is active when it's assigned for an I/O task execution which is marked as active.

When Mongoose test step starts there's some short delay before the warmup is done and all channels are busy with I/O tasks (active). It's expected that the performance rates are lower during this warmup time range. Moreover, at the test step end some channels may remain active with the I/O task while other channels are not selected for new I/O tasks.

Requirements

  1. Measure the performance rates only while the active channels count is higher than the configured threshold value (full throttle condition).

Limitations

  1. It's possible that the test step will never reach the full throttle condition due to some reasons (errors, very short I/O tasks, etc).

Approach

Configuration

The full load threshold which value may be from 0 to 1 (inclusive). The configuration parameter is

test-step-metrics-threshold

CLI example: account the additional (intermediate) statistics while the actual concurrency level is more than 80:

java -jar mongoose-3.2.0/mongoose.jar --storage-driver-concurrency=100 --test-step-metrics-threshold=0.8

Design

  • Let the configured threshold be P.
  • Let configured concurrency level be C and current busy connections/threads count be N.
  • The full throttle condition is true if N >= C * P

Load Job Monitor Behavior

  1. Wait until all the load servers are in the full throttle state
  2. Create separate metrics instance and start the additional metrics gathering and aggregation
  3. Wait until any load server exits the full throttle state
  4. Stop the additional metrics gathering
  5. Output the summary for the additional metrics

Reporting

Standard Output

  1. The full throttle state entrance is marked with the following log message:

    The threshold of <COUNT> active tasks count is reached, starting the additional metrics accounting

  2. The full throttle state exit is marked with the following log message:

    The active tasks count is below the threshold of <COUNT>, stopping the additional metrics accounting

Log Files

The layout is the same as usual metrics log files layout.

  1. metrics.med.csv
  2. metrics.med.total.csv
Clone this wiki locally