This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
storperf:api [2015/11/11 15:45] Mark Beierl created |
storperf:api [2015/12/02 18:22] (current) Mark Beierl [Common Options] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== ReST API ===== | ===== ReST API ===== | ||
+ | Start Job: ''http://hostname/api/v1.0/start&workload=[workload]&target=[target]'' | ||
+ | * See Common Options below for a full list | ||
- | ==== CLI ==== | + | 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'' | ''python storperf/main.py'' | ||
Line 11: | Line 22: | ||
Command line options: | Command line options: | ||
- | * 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. | + | * -t or --target |
- | * workload=[SW, RW, RR, RW, RS] //Optional// If not specified, the default is to run all workloads. The workload types are: | + | * -w or --workload |
- | * RS: 100% Read, sequential data | + | * -s or --nossd |
- | * WS: 100% Write, sequential data | + | * -c or --nowarm |
- | * RR: 100% Read, random access | + | |
- | * WR: 100% Write, random access | + | |
- | * MR: 70% Read / 30% write, random access | + | |
- | * nossd //optional// Do not perform SSD style preconditioning. | + | |
- | * nowarm //optional// Do not perform a warmup prior to measurements. | + | |
* verbose //optional// Emit periodic output describing the current read and write latency, and measured IOPS. | * 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 | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | } | ||