Load Testing the CMR

The goal is to get an estimation how many load (number of agents and data sent by them) can be handled by the CMR.

See: INSPECTIT-2364 - Getting issue details... STATUS

Load Generating Application

As dummy application, we use a very simple Java application (https://github.com/tangerstein/cmrPerformanceTest). The application itself calls a specified number of methods of various classes which serve as basis for the invocation sequences built and sent to the CMR (CMR requires an adequate configuration/profile).

More details about the dummy application:

  • The size (number of nested data elements) of the invocation sequences, number of generated invocation sequences should be specified.
  • It should be able to trigger/start the generation of the invocation sequences from remote.
  • Some methods contain parameters which can be captured by the agent
  • The dummy application should instantiate many different classes (e.g. randomly from imported dependency) for simulating a large class base.
  • The statistics (how many invocation sequences have been created) should be written into an InfluxDB.

Extended CMR

The CMR which is used in the load test is build of the following brunch: https://github.com/mariusoe/inspectIT/tree/cmr-load-test

It has been extended by a new data processor which writes its data throughput (data elements per seconds) in an InfluxDB.