User Tools

Site Tools


storperf:api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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
 +                    }
 +                  }
 +                }
 +              }
 +            }
 +          }
 +        }
 +      }
 +    ]
 +  }
  
storperf/api.1447256727.txt.gz · Last modified: 2015/11/11 15:45 by Mark Beierl