mt-simulate-memory-idx-lock-contention

command
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 30, 2020 License: AGPL-3.0 Imports: 18 Imported by: 0

README

This tool runs an experiment: it simulates a workload on the memory-idx, by preloading it with data, and then doing a benchmark stresstest in which we simultaneously issue queries, adds and updates, all at configurable rates. and measure the durations of each operation.

the flow

  • pre-experiment
  • runs experiment
  • waits run-duration, then cancels everything
  • print stats
  • writes profiles as needed

pre-experiment

  • creates memory index
  • pre-populates index with initial-index-size entries from series-file. these are all adds to the extent that initial-index-size is smaller than the input file. once we reach the end of the file, we re-use series.

the experiment

  • issue queries at given rate queries-per-sec. queries straight from file queries-file.
  • issues AddOrUpdate calls from series-file. typically updates, but upto new-series-percent is adds (except if we've already seen them), so the real add percentage is is <= new-series-percent. partition is hashed from name runs add-threads threads to add data to the index, each thread corresponds to 1 partition in the index. the threads are fed data by the router, which routes data from the metrics generator, but limits it to rate of adds-per-sec // called adds but could these be updates?

obtaining the files

Use the mt-index-cat utility to dump the metric names of the Metrictank index you want to test with into a file, then write a list of queries to issue into another file. Those two files can then be used as input by using the series-file and queries-file parameters.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL