User Tools

Site Tools


storperf:api

StorPerf API Set

ReST API

Start Job: http://hostname/api/v1.0/start&workload=[workload]&target=[target]

* See Common Options below for a full list

Returns a JSON string as follows:

{
  "version": 1.0
  "job_id": "b88509c0-a297-454a-bb84-6e5ebd59cc22"
}

Query Job Results: http://hostname/api/v1.0/report/[job_id]&workload=[workload pattern match]

* See Common Responses below for the response format for queries

CLI

python storperf/main.py

Command line options:

  • -t or –target
  • -w or –workload
  • -s or –nossd
  • -c or –nowarm
  • verbose optional Emit periodic output describing the current read and write latency, and measured IOPS.

Common Options

If specified from command line, the option is in the format –option=. For ReST, it is embedded in the URL as &option=

  • target=[device or path] Optional The path to either an attached storage device (/dev/vdb, etc) or a directory path (/opt/storperf) that will be used to execute the performance test. In the case of a device, the entire device will be used. If not specified, the current directory will be used.
  • workload=[workload module] Optional If not specified, the default is to run all workloads. The workload types are:
    • rs: 100% Read, sequential data
    • ws: 100% Write, sequential data
    • rr: 100% Read, random access
    • wr: 100% Write, random access
    • rw: 70% Read / 30% write, random access
  • nossd optional Do not perform SSD style preconditioning.
  • nowarm optional Do not perform a warmup prior to measurements.
  • report= [job_id] optional Query the status of the supplied job_id and report on metrics. If a workload is supplied, will report on only that subset.

Common Responses

Report Responses

The report command returns a JSON string with the job status (running or completed). If still running:

{
  "version": 1.0
  "status": running
  "start": 1448905682
}

If completed:

{
  "version": 1.0,
  "status": completed,
  "start": 1448905682,
  "end": 1448905914,
  "workload": [
    {
      "name": "rw",
      "stats": {
        "queue-depth": {
          "1": {
            "block-size": {
              "4096": {
                "read": {
                  "iops": 12191,
                  "latency": {
                    "min": 23,
                    "mean": 413.87,
                    "max": 1638
                  }
                },
                "write": {
                  "iops": 5234,
                  "latency": {
                    "min": 51,
                    "mean": 39.98,
                    "max": 434
                  }
                }
              }
            }
          }
        }
      }
    }
  ]
}
storperf/api.txt · Last modified: 2015/12/02 18:22 by Mark Beierl