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
python storperf/main.py
Command line 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 dataws: 100% Write, sequential datarr: 100% Read, random accesswr: 100% Write, random accessrw: 70% Read / 30% write, random accessnossd 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.
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
}
}
}
}
}
}
}
}
]
}