Skip to content

python wrapper and default test settings for io, ssd-test oriented

Notifications You must be signed in to change notification settings

appassionate/fioer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fioer

python wrapper and default test settings for fio, ssd-test oriented

中文/English

example

1. random read/write example

from fioer.job import FioTask

template_file = "bala/randrw.fio"

randrw = FioTask(work_path="./randrw",input_dict=None,)
randrw.input.from_input_file(template_file)
randrw.run(cli_params={"status-interval":"1"})

template: randrw.fio r/w = 65/35

[global]
name=fio-rand-write
filename=fio-rand-write
rw=randrw
bs=4K
direct=1
numjobs=1
time_based=1
runtime=200
ioengine=libaio
iodepth=64
rwmixread=65

[file1]
size=10M

SNIA-PTS PARAMETER TABLE

according to SNIA-PTS, section 2.1.1

SNIA FIO Description
blocksize bs block size
Read/Write randrw(rwmixread=X) read/write
OIO: Outstanding IO,/( Queue Depth) iodepth iodepth
Thread Count(Workers, Process) numjobs number of jobs
Latency slat, clat, lat latency
Cache direct=1 direct IO

data visualization

from data(parsed.json)

randrw.view.view_iops(mode="write")
randrw.view.view_latency(mode="write", lat_type="lat")

or both plotted

randrw.view.view_iops(mode="both")
randrw.view.view_latency(mode="both", lat_type="lat")

SNIA IOPs test flow(developing)

accroding to snia pts psedo code

from fioer.flow import flow_snia_iops
flow_snia_iops(project_path="./wf",rwmix_mapping=[0,35,50,65,100], bs_mapping=[4,8,16,32])

flow folder abstract

every tasks in flow will be placed in determined folder, like below:

tree ./wf
.
├── 02.precond
│   ├── input.fio
│   ├── output.json
│   ├── parsed.json
│   └── seq_write_meta
├── 03.mapping-rwmix0-bs16
│   ├── round-0
│   │   ├── input.fio
│   │   ├── output.json
│   │   ├── parsed.json
│   │   └── rw_meta
│   ├── round-1
│   │   ├── input.fio
│   │   ├── output.json
│   │   ├── parsed.json
│   │   └── rw_meta

3d graph draft:

Description Description

other visualize example

gfio style: iops_bw_r iops_bw_w

iops: read/write both plotted iops latency: read/write both plotted latency latency per job: latency-total

TODO LIST

  1. write amplification flow/test-case
  2. snia standard flow/test-case
  3. QoS flow/test-case

About

python wrapper and default test settings for io, ssd-test oriented

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages