├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── MANIFEST.in ├── README-READHAMMER.txt ├── README.md ├── Release_Notes.txt ├── fiosynth.py ├── fiosynth_lib ├── __init__.py ├── fio_json_parser.py ├── fiosynth.py ├── flash_config.py └── health_tools.py ├── jobfiles ├── 70_30.fio ├── 70_30_HE.fio ├── 70_30_LE.fio ├── 70_30_io_uring.fio ├── 70_30_libfio_ws.fio ├── DRAMwTRIM.fio ├── FLeaf_noTRIM.fio ├── FLeaf_wTRIM.fio ├── FLeaf_wTRIM_1H22.fio ├── FLeaf_wTRIM_2H19.fio ├── HDD_70_30.fio ├── HDD_randread.fio ├── HDD_randwrite.fio ├── HDD_seqread.fio ├── HDD_seqwrite.fio ├── Max_Latency_ReadTrim.fio ├── Max_Latency_write.fio ├── MyRocks_noTRIM.fio ├── MyRocks_noTRIM_2H19.fio ├── MyRocks_wTRIM.fio ├── MyRocks_wTRIM_1H22.fio ├── MyRocks_wTRIM_2H19.fio ├── RR_SW_HE.fio ├── RR_SW_LE.fio ├── TypeVI.fio ├── TypeVI90.fio ├── TypeVI90_precon.fio ├── TypeVIII_Messenger_Movement.fio ├── TypeVIII_Messenger_Movement_precon.fio ├── TypeVIII_Messenger_Movement_wTRIM.fio ├── TypeVIII_Messenger_Movement_wTRIM_precon.fio ├── TypeVI_Read.fio ├── TypeVIwTRIM.fio ├── TypeVIwTRIM_1H22.fio ├── TypeVIwTRIM_2H19.fio ├── TypeVIwTRIM_SIT.fio ├── TypeVIwTRIM_precon.fio ├── TypeVIwTRIM_precon_1H22.fio ├── backup.fio ├── backup_write_journal.fio ├── bcache.fio ├── bcache_1H22.fio ├── bursttrim.fio ├── coldstorage.fio ├── gen.fio ├── gen_prep_flash.fio ├── gen_randread.fio ├── gen_randrw.fio ├── gen_randrw_70_30.fio ├── gen_randwrite.fio ├── gen_read.fio ├── gen_write.fio ├── idyno.fio ├── idyno_sweep.fio ├── prep.fio ├── prep_flash.fio ├── prep_flash_io_uring.fio ├── prep_flash_rand.fio ├── prep_flash_rand_io_uring.fio ├── prep_flash_rand_libfio_ws.fio ├── prep_io_uring.fio ├── prep_libfio_ws.fio ├── prep_rand.fio ├── randread.fio ├── randread_io_uring.fio ├── randread_libfio_ws.fio ├── randwrite.fio ├── randwrite_io_uring.fio ├── randwrite_libfio_ws.fio ├── readhammer.fio ├── rsw_burst.fio ├── rsw_cp.fio ├── rsw_cp_precon.fio ├── rsw_cp_vtrim.fio ├── rsw_cp_wtrim.fio ├── search2.fio ├── search3.fio ├── searchdoc_noTRIM.fio ├── searchdoc_wTRIM.fio ├── searchindex_noTRIM.fio ├── searchindex_wTRIM.fio ├── searchindex_wTRIM_1H22.fio ├── searchlm_wTRIM.fio ├── searchlm_wTRIM_1H22.fio ├── seqread.fio ├── seqread_io_uring.fio ├── seqread_libfio_ws.fio ├── seqwrite.fio ├── seqwrite_io_uring.fio ├── seqwrite_libfio_ws.fio ├── seqwrite_write_journal.fio ├── stacking.fio ├── trim.fio ├── trim_libfio_ws.fio ├── trimrate.fio ├── twfeed.fio ├── twi_iris.fio ├── twi_iris_precon.fio ├── twshared-pkg.fio ├── twshared.fio ├── udb_boot.fio ├── wildcard.fio ├── wildcard_normal.fio ├── writehammer.fio ├── ws_hxfs_hdd.fio ├── ws_hxfs_hdd_heavy.fio ├── ws_hxfs_ssd.fio ├── ws_xfs_hdd.fio ├── wscache_1H22.fio ├── wsf-laser-ro_2H22.fio ├── wsf-t.fio ├── wsf-tl.fio ├── wsf-tl_1H22.fio └── wsf-tl_2H21.fio ├── packman.yml ├── setup.cfg ├── setup.py ├── smartAll.sh ├── test-requirements.txt ├── tests ├── __init__.py ├── sample_fio_results │ ├── sample-2017-11-21_16-40.csv │ ├── sample_1_run1.json │ └── sample_2_run1.json └── test_fio_json_parser.py ├── tmp.fio ├── tox.ini └── wkldsuites ├── Boot_SSD ├── BurstTrim ├── Cache ├── Cache_1H22 ├── Cache_2H20 ├── Cache_Sweep ├── Cache_Sweep_1H22 ├── Fio_4C ├── Fio_4C_boot ├── HDDPeakWklds ├── HE_Flash ├── HE_Flash_Short ├── HE_Flash_Short_90 ├── HE_Flash_Short_noTRIM ├── HE_Flash_Short_wTRIM ├── HE_Flash_Short_wTRIM_1H20 ├── HE_Flash_Short_wTRIM_1H22 ├── HE_Flash_Short_wTRIM_2H19 ├── HE_Flash_Short_wTRIM_2H20 ├── HE_Flash_Short_wTRIM_RAM ├── HE_Flash_Short_wTRIM_SIT ├── HE_Flash_Short_wTRIM_Sweep ├── HE_Flash_Short_wTRIM_Sweep_1H22 ├── HE_Flash_noTRIM ├── HE_Flash_wTRIM ├── Idyno_Boot ├── Idyno_Boot_Full_Sweep ├── LE_Flash ├── LE_Flash_Short ├── LE_Flash_Short_wTRIM ├── LE_Flash_Short_wTRIM_SIT ├── LE_Flash_Single ├── Low_Latency_Short_wTRIM ├── Messenger_Movement_noTRIM ├── Messenger_Movement_wTRIM ├── MyRocks ├── MyRocks_Full_Sweep ├── MyRocks_Full_Sweep_1H22 ├── Nvme_Cli_Wkld ├── PeakWklds ├── PeakWklds_1H22 ├── PeakWklds_Libfio_Ws ├── PeakWklds_RAM ├── RAIDPeakWklds ├── RSC_Sweep_1H24 ├── RTL ├── RandRW_70_30_Fio4C ├── RandRW_Fio4C ├── RandRead_Fio4C ├── RandWrite_Fio4C ├── Read_Fio4C ├── Rsw_Cp ├── Rsw_Cp_wTRIM ├── Search ├── Search_1H22 ├── Search_2H19 ├── Search_2H20 ├── Search_Full_Sweep ├── Search_Full_Sweep_1H22 ├── Search_Sweep ├── Search_Sweep_1H22 ├── SpinCycle ├── SpinCycleFlash ├── Stacking ├── TrimRate ├── Twfeed_Boot ├── Twi_Iris ├── Twshared_Boot ├── Twshared_Pkg_Boot ├── Twshared_Pkg_Boot_Full_Sweep ├── UBOOTT_Workload_loop ├── UDB_Boot ├── USSDT_Workload_loop ├── USSDT_Workload_loop_OCP2.6 ├── WSCACHE_1H22 ├── WSCache_WSF_Stress ├── WSF ├── WSF_1H22 ├── WSF_2H21 ├── WSF_2H21_8TB ├── WSF_LASER_RO_2H22 ├── Warmstorage_HDD ├── Warmstorage_HXFS_HDD ├── Warmstorage_HXFS_SSD ├── Wedge_Boot ├── Wildcard ├── Wildcard_Normal ├── Write_Fio4C ├── backup ├── iocost ├── precondition_full ├── prep ├── readhammer ├── write_journal └── writehammer /.gitignore: -------------------------------------------------------------------------------- 1 | *.py[cod] 2 | 3 | # C extensions 4 | *.so 5 | 6 | # Byte-compiled / optimized / DLL files 7 | __pycache__/ 8 | *.py[cod] 9 | 10 | # Distribution / packaging 11 | .Python 12 | env/ 13 | bin/ 14 | build/ 15 | develop-eggs/ 16 | dist/ 17 | eggs/ 18 | lib/ 19 | lib64/ 20 | lib64 21 | parts/ 22 | sdist/ 23 | var/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | pyvenv.cfg 28 | pip-selfcheck.json 29 | 30 | # Installer logs 31 | pip-log.txt 32 | pip-delete-this-directory.txt 33 | 34 | # Unit test / coverage reports 35 | htmlcov/ 36 | .tox/ 37 | .coverage 38 | .cache 39 | nosetests.xml 40 | coverage.xml 41 | 42 | # Sphinx documentation 43 | docs/_build/ 44 | 45 | .mr.developer.cfg 46 | .project 47 | .idea 48 | .pydevproject 49 | *.swp 50 | 51 | # Mac Desktop Service Store 52 | *.DS_Store 53 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please [read the full text](https://code.facebook.com/codeofconduct) so that you can understand what actions will and will not be tolerated. 3 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to fiosynth 2 | We want to make contributing to this project as easy and transparent as 3 | possible. 4 | 5 | ## Code of Conduct 6 | The code of conduct is described in [`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md). 7 | 8 | ## Our Development Process 9 | 10 | ### Unit Tests 11 | ``` 12 | $ pip install tox 13 | $ tox 14 | ``` 15 | Note: You may require `sudo` if installing to System's Python environment 16 | 17 | ## Pull Requests 18 | We actively welcome your pull requests. 19 | 20 | 1. Fork the repo and create your branch from `main`. 21 | 2. If you've added code that should be tested, add tests. 22 | 3. If you've changed APIs, update the documentation. 23 | 4. Ensure the test suite passes. 24 | 5. Make sure your code lints. 25 | 6. If you haven't already, complete the Contributor License Agreement ("CLA"). 26 | 27 | ## Contributor License Agreement ("CLA") 28 | In order to accept your pull request, we need you to submit a CLA. You only need 29 | to do this once to work on any of Facebook's open source projects. 30 | 31 | Complete your CLA here: 32 | 33 | ## Issues 34 | We use GitHub issues to track public bugs. Please ensure your description is 35 | clear and has sufficient instructions to be able to reproduce the issue. 36 | 37 | Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe 38 | disclosure of security bugs. In those cases, please go through the process 39 | outlined on that page and do not file a public issue. 40 | 41 | ## Coding Style 42 | * 4 spaces for indentation rather than tabs 43 | * 80 character line length 44 | * pep8 45 | 46 | ## License 47 | By contributing to fiosynth, you agree that your contributions will be licensed 48 | under the LICENSE file in the root directory of this source tree. 49 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Facebook, Inc. and its affiliates. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include CODE_OF_CONDUCT.md 2 | include CONTRIBUTING.md 3 | include LICENSE 4 | include README-READHAMMER.txt 5 | include Release_Notes.txt 6 | include smartAll.sh 7 | 8 | recursive-include jobfiles * 9 | recursive-include wkldsuites * 10 | -------------------------------------------------------------------------------- /README-READHAMMER.txt: -------------------------------------------------------------------------------- 1 | Currently the read hammer test will run for 14 days ( 336 hours) after the SSDs 2 | are prepared. Increase the number of run cycles in the "readhammer" workload 3 | profile file to run the test for longer. 4 | 5 | Use the following steps to run the readhammer test. 6 | 1. Precondition a single device: 7 | fb-FioSynthFlash -d /dev/sdc -w prep -f precondition 8 | or 9 | Precondition all devices: 10 | fb-FioSynthFlash -d ALL -w prep -f precondition 11 | 2. Run readhammer test on a single device: 12 | fb-FioSynthFlash -d /dev/sdc -w readhammer -f readhammer 13 | or 14 | Run readhammer test on all devices: 15 | fb-FioSynthFlash -d ALL -w readhammer -f readhammer 16 | 3. All results are stored in a .csv file in the specified results directory. 17 | 18 | Note: If you are running the read hammer test on more than one device, it 19 | is recommended to increase the maximum number of active aio contexts. 20 | echo "262144" > /proc/sys/fs/aio-max-nr 21 | 22 | License 23 | Copyright (c) Facebook, Inc. and its affiliates. 24 | -------------------------------------------------------------------------------- /Release_Notes.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | Version 3.1 Release Notes 4 | 5 | 1. Fixed bug in HE Flash workload profile. Data from workloads with 0DWPD are 6 | now correct. 7 | 2. Added support for parsing fio TRIM results 8 | 3. Added support for parsing fio results without group reporting 9 | 4. Multiple json files are now parsed in order. 10 | -------------------------------------------------------------------------------- /fiosynth.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) Facebook, Inc. and its affiliates. 3 | # 4 | # AUTHOR = 'Darryl Gardner ' 5 | # 6 | # fiosynth.py - FB Fio Synthetic Benchmark Suite for Flash ver 3.5.43 7 | # 8 | # Requires the use of workload suite files (in JSON format). Workload 9 | # suite files can be edited to adjust the number of precondition cycles, 10 | # number of runs, number of workloads and individual workload parameters. 11 | # Use the dry run option to verify that benchmark suite executes as expected. 12 | # All workloads are normalized on a per TB bases. If capacity is not 13 | # specified, capacity will be based on capacity of the first specified device. 14 | # If specified, a vendor specific health monitor tool will be executed before 15 | # and after each benchmark suite executes and logged in 'health.log' file. 16 | # Log can be used to calculate write amplification factor. 17 | # Raw results are stored in individual JSON files but are also parsed into 18 | # single a csv file for easy visualization in Excel. 19 | # Prefix for result filename must be specified. This will define the name 20 | # of the result files directory and csv filename. 21 | # 22 | # Input arguments (3 of arguments are required): 23 | # -d 24 | # (Required) device path for single device target, ALL for all 25 | # data devices, or ALLRAID for all mdraid devices 26 | # -w 27 | # (Required) filename for workload suite (default = ) 28 | # -f 29 | # (Required) Results filename (default = ) 30 | # -c 31 | # (Optional) specify capacity in TB (default = ) 32 | # -r 33 | # (Optional) Set to y to do dry run (default = n) 34 | # -t 35 | # (Optional) Enter Health Monitoring Tool Syntax (default = ) 36 | # -p 37 | # (Optional) Set to n to skip drive prep (default = y) 38 | # -n 39 | # (Optional) Specific the number of run cycles (default = 3 ) 40 | # -g 41 | # (Optional) Set to y to enable flash configuration logging (default = n) 42 | # -s 43 | # (Optional) Set to a server name if you want to run in server mode, 44 | # for multiple servers add multiple times 45 | # -l 46 | # (Optional) Set to name of text file with server name on each line 47 | # 48 | # Example run workload suite on a single device: 49 | # fb-FioSynthFlash -d /dev/sdc -w LE_Flash -f LE_Flash_sdc 50 | # 51 | # Example run workload suite on all data devices: 52 | # fb-FioSynthFlash -d ALL -w LE_Flash -f LE_Flash_noRAID 53 | # 54 | # Example run workload suite on all mdraid devices: 55 | # fb-FioSynthFlash -d ALLRAID -w LE_Flash -f LE_Flash_MDRAID 56 | # 57 | # Example run workload suite across multiple servers: 58 | # 59 | # fb-FioSynthFlash -d ALL -w LE_Flash -f LE_Flash_server_noRAID -s 60 | # -s 61 | # 62 | 63 | # pyre-unsafe 64 | from fiosynth_lib import fiosynth 65 | 66 | 67 | def main() -> None: 68 | fiosynth.main() 69 | 70 | 71 | if __name__ == "__main__": 72 | main() # pragma: no cover 73 | -------------------------------------------------------------------------------- /fiosynth_lib/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # pyre-unsafe 4 | -------------------------------------------------------------------------------- /fiosynth_lib/health_tools.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # 3 | # AUTHOR = "Darryl Gardner " 4 | # 5 | # health_tools.py- Logs Flash Health Tool Output to "health.log" file. 6 | # 7 | # A vendor specific health monitor tool will be executed and logged in 8 | # "health.log" file. Log can be used to calculate write amplification factor. 9 | # 10 | # Input arguments: 11 | # -s 12 | # (Required) Enter Health Monitoring Tool Syntax 13 | # 14 | 15 | # pyre-unsafe 16 | 17 | import argparse 18 | import subprocess 19 | 20 | 21 | def set_attributes(): 22 | # 23 | # Attribute Table Definition 24 | # 25 | 26 | parser = argparse.ArgumentParser( 27 | description='Logs Flash Health Tool Output to "health.log" file' 28 | ) 29 | parser.add_argument( 30 | "-s", 31 | action="store", 32 | dest="syntax", 33 | type=str, 34 | help="(Required) Enter Health Monitoring Tool Syntax (default = )", 35 | required=True, 36 | default="", 37 | ) 38 | args = parser.parse_args() 39 | return args 40 | 41 | 42 | class HealthTools: 43 | def logger(self, syntax): 44 | FILENAME = "health.log" 45 | file_ = open(FILENAME, "a") 46 | subprocess.Popen("date", stdout=file_) 47 | subprocess.Popen(syntax, stdout=file_, shell=True) 48 | file_.close() 49 | 50 | 51 | def main(): 52 | args = set_attributes() 53 | health = HealthTools() 54 | health.logger(args.syntax) 55 | 56 | 57 | if __name__ == "__main__": 58 | main() 59 | -------------------------------------------------------------------------------- /jobfiles/70_30.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | rwmixread=70 10 | rwmixwrite=30 11 | direct=1 12 | loops=10000 13 | invalidate=1 14 | time_based 15 | ramp_time=30s 16 | norandommap 17 | randrepeat=0 18 | runtime=${TIME} 19 | group_reporting=1 20 | random_generator=tausworthe64 21 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 22 | numjobs=4 23 | -------------------------------------------------------------------------------- /jobfiles/70_30_HE.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=32 9 | rwmixread=70 10 | rwmixwrite=30 11 | direct=1 12 | loops=10000 13 | invalidate=1 14 | time_based 15 | ramp_time=30s 16 | norandommap 17 | randrepeat=0 18 | runtime=${TIME} 19 | group_reporting=1 20 | numjobs=${JOBS} 21 | rate_iops=17500,7500 22 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 23 | [job0] 24 | filename=${DEV} 25 | [job1] 26 | filename=${DEV} 27 | [job2] 28 | filename=${DEV} 29 | [job3] 30 | filename=${DEV} 31 | -------------------------------------------------------------------------------- /jobfiles/70_30_LE.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=32 9 | rwmixread=70 10 | rwmixwrite=30 11 | direct=1 12 | loops=10000 13 | invalidate=1 14 | time_based 15 | ramp_time=30s 16 | norandommap 17 | randrepeat=0 18 | runtime=${TIME} 19 | group_reporting=1 20 | numjobs=${JOBS} 21 | rate_iops=5250,1750 22 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 23 | [job0] 24 | filename=${DEV} 25 | [job1] 26 | filename=${DEV} 27 | [job2] 28 | filename=${DEV} 29 | [job3] 30 | filename=${DEV} 31 | -------------------------------------------------------------------------------- /jobfiles/70_30_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | rwmixread=70 10 | rwmixwrite=30 11 | direct=1 12 | loops=10000 13 | invalidate=1 14 | time_based 15 | ramp_time=30s 16 | norandommap 17 | randrepeat=0 18 | runtime=${TIME} 19 | group_reporting=1 20 | random_generator=tausworthe64 21 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 22 | numjobs=4 23 | -------------------------------------------------------------------------------- /jobfiles/70_30_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=64m 7 | ioengine=./libfio_ws_sn.so 8 | iodepth=${DEPTH} 9 | rwmixread=70 10 | rwmixwrite=30 11 | direct=1 12 | loops=10000 13 | invalidate=0 14 | time_based 15 | ramp_time=30s 16 | norandommap 17 | randrepeat=0 18 | runtime=${TIME} 19 | group_reporting=1 20 | random_generator=tausworthe64 21 | numjobs=6 22 | create_on_open=1 23 | unlink=1 24 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 25 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 26 | -------------------------------------------------------------------------------- /jobfiles/DRAMwTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=${JOBS} 14 | loops=2 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | [job0] 17 | rate_iops=${RRATE}, 18 | rw=randread 19 | iodepth=${DEPTH} 20 | blocksize=${BLKSIZE} 21 | blockalign=${BLKSIZE} 22 | filename=${DEV} 23 | size=80% 24 | [job1] 25 | rw=randwrite 26 | percentage_random=0,25,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=128 29 | percentage_random=25 30 | blocksize=512K 31 | filename=${DEV} 32 | size=${SIZE} 33 | [job2] 34 | rw=randwrite 35 | percentage_random=0,25,0 36 | thinktime=${W2THINK} 37 | thinktime_blocks=160 38 | blocksize=512K 39 | filename=${DEV} 40 | size=${SIZE} 41 | [job3] 42 | startdelay=2s 43 | rw=trim 44 | size=10% 45 | thinktime=${W3THINK} 46 | iodepth=10 47 | thinktime_blocks=10 48 | blocksize=64M 49 | filename=${DEV} 50 | [job4] 51 | rw=trim 52 | size=10% 53 | thinktime=${W4THINK} 54 | thinktime_blocks=1 55 | blocksize=100m 56 | filename=${DEV} 57 | -------------------------------------------------------------------------------- /jobfiles/FLeaf_noTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | rate_iops=${RRATE}, 14 | numjobs=${JOBS} 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | loops=2 17 | [job0] 18 | offset=${OFFSET2}m 19 | rw=randread 20 | iodepth=${DEPTH} 21 | bssplit=${BLKSIZE} 22 | filename=${DEV} 23 | size=80% 24 | [job1] 25 | offset=${OFFSET2}m 26 | rw=randread 27 | iodepth=${DEPTH} 28 | bssplit=${BLKSIZE} 29 | filename=${DEV} 30 | size=80% 31 | [job2] 32 | offset=${OFFSET2}m 33 | rw=randread 34 | iodepth=${DEPTH} 35 | bssplit=${BLKSIZE} 36 | filename=${DEV} 37 | size=80% 38 | [job3] 39 | rw=randwrite 40 | percentage_random=0,2,0 41 | thinktime=${W1THINK} 42 | thinktime_blocks=25 43 | blocksize=512K 44 | filename=${DEV} 45 | size=${SIZE} 46 | -------------------------------------------------------------------------------- /jobfiles/FLeaf_wTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | rate_iops=${RRATE}, 14 | numjobs=${JOBS} 15 | loops=2 16 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 17 | [job0] 18 | offset=${OFFSET2}m 19 | rw=randread 20 | iodepth=${DEPTH} 21 | bssplit=${BLKSIZE} 22 | filename=${DEV} 23 | size=80% 24 | [job1] 25 | offset=${OFFSET2}m 26 | rw=randread 27 | iodepth=${DEPTH} 28 | bssplit=${BLKSIZE} 29 | filename=${DEV} 30 | size=80% 31 | [job2] 32 | offset=${OFFSET2}m 33 | rw=randread 34 | iodepth=${DEPTH} 35 | bssplit=${BLKSIZE} 36 | filename=${DEV} 37 | size=80% 38 | [job4] 39 | rw=randwrite 40 | percentage_random=0,2,0 41 | thinktime=${W1THINK} 42 | thinktime_blocks=25 43 | blocksize=512K 44 | filename=${DEV} 45 | size=${SIZE} 46 | [job5] 47 | rw=trim 48 | size=10% 49 | thinktime=${W2THINK} 50 | thinktime_blocks=3 51 | blocksize=2300M 52 | filename=${DEV} 53 | -------------------------------------------------------------------------------- /jobfiles/FLeaf_wTRIM_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=io_uring 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | rate=${RRATE}m, 14 | numjobs=${JOBS} 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | loops=2 17 | [job0] 18 | offset=${OFFSET2}m 19 | rw=randread 20 | iodepth=${DEPTH} 21 | bssplit=${BLKSIZE} 22 | filename=${DEV} 23 | size=80% 24 | [job1] 25 | offset=${OFFSET2}m 26 | rw=randread 27 | iodepth=${DEPTH} 28 | bssplit=${BLKSIZE} 29 | filename=${DEV} 30 | size=80% 31 | [job2] 32 | offset=${OFFSET2}m 33 | rw=randread 34 | iodepth=${DEPTH} 35 | bssplit=${BLKSIZE} 36 | filename=${DEV} 37 | size=80% 38 | [job4] 39 | rw=randwrite 40 | percentage_random=0,2,0 41 | thinktime=${W1THINK} 42 | thinktime_blocks=25 43 | blocksize=512K 44 | filename=${DEV} 45 | size=${SIZE} 46 | [job5] 47 | rw=trim 48 | size=10% 49 | thinktime=${W2THINK} 50 | thinktime_blocks=3 51 | blocksize=2300M 52 | filename=${DEV} 53 | -------------------------------------------------------------------------------- /jobfiles/FLeaf_wTRIM_2H19.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | rate=${RRATE}m, 14 | numjobs=${JOBS} 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | loops=2 17 | [job0] 18 | offset=${OFFSET2}m 19 | rw=randread 20 | iodepth=${DEPTH} 21 | bssplit=${BLKSIZE} 22 | filename=${DEV} 23 | size=80% 24 | [job1] 25 | offset=${OFFSET2}m 26 | rw=randread 27 | iodepth=${DEPTH} 28 | bssplit=${BLKSIZE} 29 | filename=${DEV} 30 | size=80% 31 | [job2] 32 | offset=${OFFSET2}m 33 | rw=randread 34 | iodepth=${DEPTH} 35 | bssplit=${BLKSIZE} 36 | filename=${DEV} 37 | size=80% 38 | [job4] 39 | rw=randwrite 40 | percentage_random=0,2,0 41 | thinktime=${W1THINK} 42 | thinktime_blocks=25 43 | blocksize=512K 44 | filename=${DEV} 45 | size=${SIZE} 46 | [job5] 47 | rw=trim 48 | size=10% 49 | thinktime=${W2THINK} 50 | thinktime_blocks=3 51 | blocksize=2300M 52 | filename=${DEV} 53 | -------------------------------------------------------------------------------- /jobfiles/HDD_70_30.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | rwmixread=70 10 | rwmixwrite=30 11 | direct=1 12 | loops=10000 13 | invalidate=1 14 | time_based 15 | ramp_time=${RAMPTIME} 16 | norandommap 17 | randrepeat=0 18 | runtime=${TIME} 19 | group_reporting=1 20 | random_generator=tausworthe64 21 | numjobs=${JOBS} 22 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 23 | [job0] 24 | filename=${DEV} 25 | -------------------------------------------------------------------------------- /jobfiles/HDD_randread.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randread 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=${RAMPTIME} 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=${JOBS} 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | [job0] 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/HDD_randwrite.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=${RAMPTIME} 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=${JOBS} 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | [job0] 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/HDD_seqread.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=read 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=${RAMPTIME} 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=${JOBS} 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | [job0] 21 | filename=${DEV} 22 | -------------------------------------------------------------------------------- /jobfiles/HDD_seqwrite.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=${RAMPTIME} 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=${JOBS} 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | [job0] 21 | filename=${DEV} 22 | -------------------------------------------------------------------------------- /jobfiles/Max_Latency_ReadTrim.fio: -------------------------------------------------------------------------------- 1 | [global] 2 | direct=1 3 | ioengine=libaio 4 | time_based 5 | runtime=${TIME} 6 | group_reporting=1 7 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 8 | 9 | filename=${DEV} 10 | 11 | 12 | [trim-job] 13 | rw=trim 14 | bs=1m 15 | iodepth=12 16 | numjobs=1 17 | offset=0 18 | size=1G 19 | offset_increment=0 20 | 21 | [read-job] 22 | rw=randread 23 | bs=4k 24 | iodepth=832 25 | numjobs=4 26 | offset=1G 27 | size=15G 28 | offset_increment=0 29 | 30 | [write-job] 31 | rw=randwrite 32 | bs=4k 33 | iodepth=180 34 | numjobs=1 35 | offset=16G 36 | size=${SIZE} 37 | offset_increment=0 38 | -------------------------------------------------------------------------------- /jobfiles/Max_Latency_write.fio: -------------------------------------------------------------------------------- 1 | [global] 2 | direct=1 3 | ioengine=libaio 4 | time_based 5 | runtime=${TIME} 6 | group_reporting=1 7 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 8 | 9 | filename=${DEV} 10 | 11 | [read-job] 12 | rw=randread 13 | bs=4k 14 | iodepth=512 15 | numjobs=2 16 | offset=0 17 | size=16G 18 | offset_increment=0 19 | 20 | 21 | [write-job] 22 | rw=randwrite 23 | bs=4k 24 | iodepth=512 25 | numjobs=1 26 | offset=16G 27 | size=${SIZE} 28 | offset_increment=0 29 | -------------------------------------------------------------------------------- /jobfiles/MyRocks_noTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=${SIZE} 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | runtime=${TIME} 13 | group_reporting=1 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | filename=${DEV} 16 | numjobs=${JOBS} 17 | 18 | [job0] 19 | iodepth=${DEPTH} 20 | rw=randread 21 | blocksize=${BLKSIZE} 22 | blockalign=${BLKSIZE} 23 | rate_iops=${RRATE}, 24 | [job1A] 25 | rw=randwrite 26 | percentage_random=0,33,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=32 29 | blocksize=4K 30 | filename=${DEV} 31 | [job1B] 32 | rw=randwrite 33 | percentage_random=0,33,0 34 | thinktime=${W1THINK} 35 | thinktime_blocks=32 36 | blocksize=32K 37 | filename=${DEV} 38 | [job1C] 39 | rw=randwrite 40 | percentage_random=0,33,0 41 | thinktime=${W1THINK} 42 | thinktime_blocks=64 43 | blocksize=64K 44 | filename=${DEV} 45 | [job2] 46 | rw=randwrite 47 | percentage_random=0,25,0 48 | thinktime=${W2THINK} 49 | thinktime_blocks=42 50 | blocksize=512K 51 | filename=${DEV} 52 | -------------------------------------------------------------------------------- /jobfiles/MyRocks_noTRIM_2H19.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate=${RRATE}m, 23 | size=80% 24 | [job1A] 25 | rw=randwrite 26 | percentage_random=0,33,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=32 29 | blocksize=4K 30 | filename=${DEV} 31 | size=${SIZE} 32 | [job1B] 33 | rw=randwrite 34 | percentage_random=0,33,0 35 | thinktime=${W1THINK} 36 | thinktime_blocks=32 37 | blocksize=32K 38 | filename=${DEV} 39 | size=${SIZE} 40 | [job1C] 41 | rw=randwrite 42 | percentage_random=0,33,0 43 | thinktime=${W1THINK} 44 | thinktime_blocks=64 45 | blocksize=64K 46 | filename=${DEV} 47 | size=${SIZE} 48 | [job2] 49 | rw=randwrite 50 | percentage_random=0,25,0 51 | thinktime=${W2THINK} 52 | thinktime_blocks=42 53 | blocksize=512K 54 | filename=${DEV} 55 | size=${SIZE} 56 | -------------------------------------------------------------------------------- /jobfiles/MyRocks_wTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | blocksize=${BLKSIZE} 22 | blockalign=${BLKSIZE} 23 | rate_iops=${RRATE}, 24 | size=80% 25 | [job1A] 26 | rw=randwrite 27 | percentage_random=0,33,0 28 | thinktime=${W1THINK} 29 | thinktime_blocks=32 30 | blocksize=4K 31 | filename=${DEV} 32 | size=${SIZE} 33 | [job1B] 34 | rw=randwrite 35 | percentage_random=0,33,0 36 | thinktime=${W1THINK} 37 | thinktime_blocks=32 38 | blocksize=32K 39 | filename=${DEV} 40 | size=${SIZE} 41 | [job1C] 42 | rw=randwrite 43 | percentage_random=0,33,0 44 | thinktime=${W1THINK} 45 | thinktime_blocks=64 46 | blocksize=64K 47 | filename=${DEV} 48 | size=${SIZE} 49 | [job2] 50 | rw=randwrite 51 | percentage_random=0,25,0 52 | thinktime=${W2THINK} 53 | thinktime_blocks=42 54 | blocksize=512K 55 | filename=${DEV} 56 | size=${SIZE} 57 | [job3] 58 | startdelay=2s 59 | rw=trim 60 | size=10% 61 | thinktime=${W3THINK} 62 | iodepth=3 63 | thinktime_blocks=3 64 | blocksize=1M 65 | filename=${DEV} 66 | [job4A] 67 | rw=trim 68 | size=10% 69 | thinktime=${W4THINK} 70 | thinktime_blocks=5 71 | blocksize=8M 72 | filename=${DEV} 73 | [job4B] 74 | rw=trim 75 | size=10% 76 | thinktime=${W4THINK} 77 | thinktime_blocks=5 78 | blocksize=16M 79 | filename=${DEV} 80 | -------------------------------------------------------------------------------- /jobfiles/MyRocks_wTRIM_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=io_uring 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate=${RRATE}m, 23 | size=80% 24 | [job1A] 25 | rw=randwrite 26 | percentage_random=0,33,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=32 29 | blocksize=4K 30 | filename=${DEV} 31 | size=${SIZE} 32 | [job1B] 33 | rw=randwrite 34 | percentage_random=0,33,0 35 | thinktime=${W1THINK} 36 | thinktime_blocks=32 37 | blocksize=32K 38 | filename=${DEV} 39 | size=${SIZE} 40 | [job1C] 41 | rw=randwrite 42 | percentage_random=0,33,0 43 | thinktime=${W1THINK} 44 | thinktime_blocks=64 45 | blocksize=64K 46 | filename=${DEV} 47 | size=${SIZE} 48 | [job2] 49 | rw=randwrite 50 | percentage_random=0,25,0 51 | thinktime=${W2THINK} 52 | thinktime_blocks=42 53 | blocksize=512K 54 | filename=${DEV} 55 | size=${SIZE} 56 | [job3] 57 | startdelay=2s 58 | rw=trim 59 | size=10% 60 | thinktime=${W3THINK} 61 | iodepth=3 62 | thinktime_blocks=3 63 | blocksize=1M 64 | filename=${DEV} 65 | [job4A] 66 | rw=trim 67 | size=10% 68 | thinktime=${W4THINK} 69 | thinktime_blocks=5 70 | blocksize=8M 71 | filename=${DEV} 72 | [job4B] 73 | rw=trim 74 | size=10% 75 | thinktime=${W4THINK} 76 | thinktime_blocks=5 77 | blocksize=16M 78 | filename=${DEV} 79 | -------------------------------------------------------------------------------- /jobfiles/MyRocks_wTRIM_2H19.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate=${RRATE}m, 23 | size=80% 24 | [job1A] 25 | rw=randwrite 26 | percentage_random=0,33,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=32 29 | blocksize=4K 30 | filename=${DEV} 31 | size=${SIZE} 32 | [job1B] 33 | rw=randwrite 34 | percentage_random=0,33,0 35 | thinktime=${W1THINK} 36 | thinktime_blocks=32 37 | blocksize=32K 38 | filename=${DEV} 39 | size=${SIZE} 40 | [job1C] 41 | rw=randwrite 42 | percentage_random=0,33,0 43 | thinktime=${W1THINK} 44 | thinktime_blocks=64 45 | blocksize=64K 46 | filename=${DEV} 47 | size=${SIZE} 48 | [job2] 49 | rw=randwrite 50 | percentage_random=0,25,0 51 | thinktime=${W2THINK} 52 | thinktime_blocks=42 53 | blocksize=512K 54 | filename=${DEV} 55 | size=${SIZE} 56 | [job3] 57 | startdelay=2s 58 | rw=trim 59 | size=10% 60 | thinktime=${W3THINK} 61 | iodepth=3 62 | thinktime_blocks=3 63 | blocksize=1M 64 | filename=${DEV} 65 | [job4A] 66 | rw=trim 67 | size=10% 68 | thinktime=${W4THINK} 69 | thinktime_blocks=5 70 | blocksize=8M 71 | filename=${DEV} 72 | [job4B] 73 | rw=trim 74 | size=10% 75 | thinktime=${W4THINK} 76 | thinktime_blocks=5 77 | blocksize=16M 78 | filename=${DEV} 79 | -------------------------------------------------------------------------------- /jobfiles/RR_SW_HE.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=${SIZE} 4 | ioengine=libaio 5 | iodepth=32 6 | direct=1 7 | invalidate=1 8 | time_based 9 | runtime=${TIME} 10 | ramp_time=30s 11 | norandommap 12 | randrepeat=0 13 | group_reporting=1 14 | rate_iops=25000, 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | numjobs=${JOBS} 17 | [job0] 18 | rw=randread 19 | blocksize=${BLKSIZE} 20 | blockalign=${BLKSIZE} 21 | filename=${DEV} 22 | [job1] 23 | rw=write 24 | thinktime=1000000 25 | thinktime_blocks=256 26 | blocksize=512K 27 | filename=${DEV} 28 | [job2] 29 | rw=randread 30 | blocksize=${BLKSIZE} 31 | blockalign=${BLKSIZE} 32 | filename=${DEV} 33 | [job3] 34 | rw=randread 35 | blocksize=${BLKSIZE} 36 | blockalign=${BLKSIZE} 37 | filename=${DEV} 38 | [job4] 39 | rw=randread 40 | blocksize=${BLKSIZE} 41 | blockalign=${BLKSIZE} 42 | filename=${DEV} 43 | -------------------------------------------------------------------------------- /jobfiles/RR_SW_LE.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=${SIZE} 4 | ioengine=libaio 5 | iodepth=32 6 | direct=1 7 | invalidate=1 8 | time_based 9 | runtime=${TIME} 10 | ramp_time=30s 11 | norandommap 12 | randrepeat=0 13 | group_reporting=1 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | rate_iops=7000, 16 | numjobs=${JOBS} 17 | [job0] 18 | rw=randread 19 | blocksize=${BLKSIZE} 20 | blockalign=${BLKSIZE} 21 | filename=${DEV} 22 | [job1] 23 | rw=write 24 | thinktime=1000000 25 | thinktime_blocks=256 26 | blocksize=512K 27 | filename=${DEV} 28 | [job2] 29 | rw=randread 30 | blocksize=${BLKSIZE} 31 | blockalign=${BLKSIZE} 32 | filename=${DEV} 33 | [job3] 34 | rw=randread 35 | blocksize=${BLKSIZE} 36 | blockalign=${BLKSIZE} 37 | filename=${DEV} 38 | [job4] 39 | rw=randread 40 | blocksize=${BLKSIZE} 41 | blockalign=${BLKSIZE} 42 | filename=${DEV} 43 | -------------------------------------------------------------------------------- /jobfiles/TypeVI.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=${SIZE} 4 | ioengine=libaio 5 | direct=1 6 | invalidate=1 7 | time_based 8 | runtime=${TIME} 9 | ramp_time=30s 10 | norandommap 11 | randrepeat=0 12 | buffer_compress_percentage=0 13 | group_reporting=1 14 | rate_iops=${RRATE}, 15 | numjobs=${JOBS} 16 | loops=2 17 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 18 | [job0] 19 | rw=randread 20 | iodepth=${DEPTH} 21 | blocksize=${BLKSIZE} 22 | blockalign=${BLKSIZE} 23 | filename=${DEV} 24 | [job1] 25 | rw=randwrite 26 | percentage_random=0,25,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=128 29 | percentage_random=25 30 | blocksize=512K 31 | filename=${DEV} 32 | [job2] 33 | rw=randwrite 34 | percentage_random=0,25,0 35 | thinktime=${W2THINK} 36 | thinktime_blocks=160 37 | blocksize=512K 38 | filename=${DEV} 39 | -------------------------------------------------------------------------------- /jobfiles/TypeVI90.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=${JOBS} 14 | loops=2 15 | [job0] 16 | rate_iops=${RRATE}, 17 | rw=randread 18 | iodepth=${DEPTH} 19 | blocksize=${BLKSIZE} 20 | blockalign=${BLKSIZE} 21 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 22 | filename=${DEV} 23 | size=${SIZE} 24 | [job1] 25 | rw=randwrite 26 | percentage_random=0,25,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=128 29 | percentage_random=25 30 | blocksize=512K 31 | filename=${DEV} 32 | size=${SIZE} 33 | [job2] 34 | rw=randwrite 35 | percentage_random=0,25,0 36 | thinktime=${W2THINK} 37 | thinktime_blocks=160 38 | blocksize=512K 39 | filename=${DEV} 40 | size=${SIZE} 41 | -------------------------------------------------------------------------------- /jobfiles/TypeVI90_precon.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | norandommap 7 | randrepeat=0 8 | buffer_compress_percentage=0 9 | group_reporting=1 10 | numjobs=${JOBS} 11 | ss=bw_slope:0.1% 12 | ss_dur=300 13 | ss_ramp=${TIME} 14 | loops=20 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | [job1] 17 | rw=randwrite 18 | percentage_random=0,25,0 19 | thinktime=${W1THINK} 20 | thinktime_blocks=128 21 | percentage_random=25 22 | blocksize=512K 23 | filename=${DEV} 24 | size=${SIZE} 25 | [job2] 26 | rw=randwrite 27 | percentage_random=0,25,0 28 | thinktime=${W2THINK} 29 | thinktime_blocks=160 30 | blocksize=512K 31 | filename=${DEV} 32 | size=${SIZE} 33 | -------------------------------------------------------------------------------- /jobfiles/TypeVIII_Messenger_Movement.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=${JOBS} 14 | loops=2 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | [job0] 17 | rate_iops=${RRATE}, 18 | rw=randread 19 | iodepth=${DEPTH} 20 | blocksize=${BLKSIZE} 21 | blockalign=${BLKSIZE} 22 | filename=${DEV} 23 | size=${SIZE} 24 | [job1] 25 | rw=randwrite 26 | percentage_random=0,25,0 27 | thinktime=${W1THINK} 28 | thinktime_blocks=128 29 | percentage_random=25 30 | blocksize=512K 31 | filename=${DEV} 32 | size=${SIZE} 33 | [job2] 34 | rw=randwrite 35 | percentage_random=0,25,0 36 | thinktime=${W2THINK} 37 | thinktime_blocks=160 38 | blocksize=512K 39 | filename=${DEV} 40 | size=${SIZE} 41 | [job3] 42 | rw=write 43 | percentage_random=0,0,0 44 | thinktime=${W3THINK} 45 | thinktime_blocks=64 46 | percentage_random=0 47 | blocksize=524288 48 | filename=${DEV} 49 | size=${SIZE} 50 | [job4] 51 | rw=write 52 | percentage_random=0,0,0 53 | thinktime=${W3THINK} 54 | thinktime_blocks=64 55 | percentage_random=0 56 | blocksize=1048576 57 | filename=${DEV} 58 | size=${SIZE} 59 | -------------------------------------------------------------------------------- /jobfiles/TypeVIII_Messenger_Movement_precon.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | norandommap 8 | randrepeat=0 9 | buffer_compress_percentage=0 10 | group_reporting=1 11 | numjobs=${JOBS} 12 | ss=bw_slope:0.1% 13 | ss_dur=300 14 | ss_ramp=${TIME} 15 | loops=20 16 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 17 | [job1] 18 | rw=randwrite 19 | percentage_random=0,25,0 20 | thinktime=${W1THINK} 21 | thinktime_blocks=128 22 | percentage_random=25 23 | blocksize=512K 24 | filename=${DEV} 25 | size=${SIZE} 26 | [job2] 27 | rw=randwrite 28 | percentage_random=0,25,0 29 | thinktime=${W2THINK} 30 | thinktime_blocks=160 31 | blocksize=512K 32 | filename=${DEV} 33 | size=${SIZE} 34 | [job3] 35 | rw=write 36 | percentage_random=0,0,0 37 | thinktime=${W3THINK} 38 | thinktime_blocks=64 39 | percentage_random=0 40 | blocksize=524288 41 | filename=${DEV} 42 | size=${SIZE} 43 | [job4] 44 | rw=write 45 | percentage_random=0,0,0 46 | thinktime=${W3THINK} 47 | thinktime_blocks=64 48 | percentage_random=0 49 | blocksize=1048576 50 | filename=${DEV} 51 | size=${SIZE} 52 | -------------------------------------------------------------------------------- /jobfiles/TypeVIII_Messenger_Movement_wTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=${JOBS} 14 | loops=2 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | [job0] 17 | rate_iops=${RRATE}, 18 | offset=${OFFSET2}m 19 | rw=randread 20 | iodepth=${DEPTH} 21 | blocksize=${BLKSIZE} 22 | blockalign=${BLKSIZE} 23 | filename=${DEV} 24 | size=80% 25 | [job1] 26 | rw=randwrite 27 | percentage_random=0,25,0 28 | thinktime=${W1THINK} 29 | thinktime_blocks=128 30 | percentage_random=25 31 | blocksize=512K 32 | filename=${DEV} 33 | size=${SIZE} 34 | [job2] 35 | rw=randwrite 36 | percentage_random=0,25,0 37 | thinktime=${W2THINK} 38 | thinktime_blocks=160 39 | blocksize=512K 40 | filename=${DEV} 41 | size=${SIZE} 42 | [job3] 43 | rw=write 44 | percentage_random=0,0,0 45 | thinktime=${W3THINK} 46 | thinktime_blocks=64 47 | percentage_random=0 48 | blocksize=524288 49 | filename=${DEV} 50 | size=${SIZE} 51 | [job4] 52 | rw=write 53 | percentage_random=0,0,0 54 | thinktime=${W3THINK} 55 | thinktime_blocks=64 56 | percentage_random=0 57 | blocksize=1048576 58 | filename=${DEV} 59 | size=${SIZE} 60 | [job5] 61 | startdelay=2s 62 | rw=trim 63 | size=10% 64 | thinktime=${W4THINK} 65 | iodepth=1 66 | thinktime_blocks=3 67 | blocksize=4096K 68 | filename=${DEV} 69 | [job6] 70 | startdelay=2s 71 | rw=trim 72 | size=10% 73 | thinktime=${W4THINK} 74 | iodepth=1 75 | thinktime_blocks=1 76 | blocksize=4K 77 | filename=${DEV} 78 | [job7] 79 | startdelay=2s 80 | rw=trim 81 | size=10% 82 | thinktime=${W4THINK} 83 | iodepth=1 84 | thinktime_blocks=1 85 | blocksize=98304K 86 | filename=${DEV} 87 | [job8] 88 | startdelay=2s 89 | rw=trim 90 | size=10% 91 | thinktime=${W4THINK} 92 | iodepth=1 93 | thinktime_blocks=2 94 | blocksize=32768K 95 | filename=${DEV} 96 | [job9] 97 | startdelay=2s 98 | rw=trim 99 | size=10% 100 | thinktime=${W4THINK} 101 | iodepth=1 102 | thinktime_blocks=3 103 | blocksize=12288K 104 | filename=${DEV} 105 | -------------------------------------------------------------------------------- /jobfiles/TypeVIII_Messenger_Movement_wTRIM_precon.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=${JOBS} 14 | ss=bw_slope:0.1% 15 | ss_dur=300 16 | ss_ramp=${TIME} 17 | loops=20 18 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 19 | [job1] 20 | rw=randwrite 21 | percentage_random=0,25,0 22 | thinktime=${W1THINK} 23 | thinktime_blocks=128 24 | percentage_random=25 25 | blocksize=512K 26 | filename=${DEV} 27 | size=${SIZE} 28 | [job2] 29 | rw=randwrite 30 | percentage_random=0,25,0 31 | thinktime=${W2THINK} 32 | thinktime_blocks=160 33 | blocksize=512K 34 | filename=${DEV} 35 | size=${SIZE} 36 | [job3] 37 | rw=write 38 | percentage_random=0,0,0 39 | thinktime=${W3THINK} 40 | thinktime_blocks=64 41 | percentage_random=0 42 | blocksize=524288 43 | filename=${DEV} 44 | size=${SIZE} 45 | [job4] 46 | rw=write 47 | percentage_random=0,0,0 48 | thinktime=${W3THINK} 49 | thinktime_blocks=64 50 | percentage_random=0 51 | blocksize=1048576 52 | filename=${DEV} 53 | size=${SIZE} 54 | [job5] 55 | startdelay=2s 56 | rw=trim 57 | size=10% 58 | thinktime=${W4THINK} 59 | iodepth=1 60 | thinktime_blocks=3 61 | blocksize=4096K 62 | filename=${DEV} 63 | [job6] 64 | startdelay=2s 65 | rw=trim 66 | size=10% 67 | thinktime=${W4THINK} 68 | iodepth=1 69 | thinktime_blocks=1 70 | blocksize=4K 71 | filename=${DEV} 72 | [job7] 73 | startdelay=2s 74 | rw=trim 75 | size=10% 76 | thinktime=${W4THINK} 77 | iodepth=1 78 | thinktime_blocks=1 79 | blocksize=98304K 80 | filename=${DEV} 81 | [job8] 82 | startdelay=2s 83 | rw=trim 84 | size=10% 85 | thinktime=${W4THINK} 86 | iodepth=1 87 | thinktime_blocks=2 88 | blocksize=32768K 89 | filename=${DEV} 90 | [job9] 91 | startdelay=2s 92 | rw=trim 93 | size=10% 94 | thinktime=${W4THINK} 95 | iodepth=1 96 | thinktime_blocks=3 97 | blocksize=12288K 98 | filename=${DEV} 99 | -------------------------------------------------------------------------------- /jobfiles/TypeVI_Read.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=${SIZE} 4 | ioengine=libaio 5 | direct=1 6 | invalidate=1 7 | time_based 8 | runtime=${TIME} 9 | ramp_time=30s 10 | norandommap 11 | randrepeat=0 12 | buffer_compress_percentage=0 13 | group_reporting=1 14 | rate_iops=${RRATE}, 15 | numjobs=${JOBS} 16 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 17 | [job0] 18 | rw=randread 19 | iodepth=${DEPTH} 20 | blocksize=${BLKSIZE} 21 | blockalign=${BLKSIZE} 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/TypeVIwTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | numjobs=${JOBS} 15 | loops=2 16 | [job0] 17 | offset=${OFFSET2}m 18 | rate_iops=${RRATE}, 19 | rw=randread 20 | iodepth=${DEPTH} 21 | blocksize=${BLKSIZE} 22 | blockalign=${BLKSIZE} 23 | filename=${DEV} 24 | size=80% 25 | [job1] 26 | rw=randwrite 27 | percentage_random=0,25,0 28 | thinktime=${W1THINK} 29 | thinktime_blocks=128 30 | percentage_random=25 31 | blocksize=512K 32 | filename=${DEV} 33 | size=${SIZE} 34 | [job2] 35 | rw=randwrite 36 | percentage_random=0,25,0 37 | thinktime=${W2THINK} 38 | thinktime_blocks=160 39 | blocksize=512K 40 | filename=${DEV} 41 | size=${SIZE} 42 | [job3] 43 | startdelay=2s 44 | rw=trim 45 | size=10% 46 | thinktime=${W3THINK} 47 | iodepth=10 48 | thinktime_blocks=10 49 | blocksize=64M 50 | filename=${DEV} 51 | [job4] 52 | rw=trim 53 | size=10% 54 | thinktime=${W4THINK} 55 | thinktime_blocks=1 56 | blocksize=2G 57 | filename=${DEV} 58 | -------------------------------------------------------------------------------- /jobfiles/TypeVIwTRIM_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=io_uring 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=${JOBS} 14 | loops=2 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | [job0] 17 | offset=${OFFSET2}m 18 | rate=${RRATE}m, 19 | rw=randread 20 | percentage_random=65 21 | iodepth=${DEPTH} 22 | bssplit=${BLKSIZE} 23 | filename=${DEV} 24 | size=80% 25 | [job1] 26 | rw=randwrite 27 | percentage_random=0,25,0 28 | thinktime=${W1THINK} 29 | thinktime_blocks=128 30 | percentage_random=25 31 | blocksize=512K 32 | filename=${DEV} 33 | size=${SIZE} 34 | [job2] 35 | rw=randwrite 36 | percentage_random=0,25,0 37 | thinktime=${W2THINK} 38 | thinktime_blocks=160 39 | blocksize=512K 40 | filename=${DEV} 41 | size=${SIZE} 42 | [job3] 43 | startdelay=2s 44 | rw=trim 45 | size=10% 46 | thinktime=${W3THINK} 47 | iodepth=10 48 | thinktime_blocks=10 49 | blocksize=64M 50 | filename=${DEV} 51 | [job4] 52 | rw=trim 53 | size=10% 54 | thinktime=${W4THINK} 55 | thinktime_blocks=1 56 | blocksize=2G 57 | filename=${DEV} 58 | -------------------------------------------------------------------------------- /jobfiles/TypeVIwTRIM_2H19.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | numjobs=${JOBS} 15 | loops=2 16 | [job0] 17 | offset=${OFFSET2}m 18 | rate=${RRATE}m, 19 | rw=randread 20 | percentage_random=65 21 | iodepth=${DEPTH} 22 | bssplit=${BLKSIZE} 23 | filename=${DEV} 24 | size=80% 25 | [job1] 26 | rw=randwrite 27 | percentage_random=0,25,0 28 | thinktime=${W1THINK} 29 | thinktime_blocks=128 30 | percentage_random=25 31 | blocksize=512K 32 | filename=${DEV} 33 | size=${SIZE} 34 | [job2] 35 | rw=randwrite 36 | percentage_random=0,25,0 37 | thinktime=${W2THINK} 38 | thinktime_blocks=160 39 | blocksize=512K 40 | filename=${DEV} 41 | size=${SIZE} 42 | [job3] 43 | startdelay=2s 44 | rw=trim 45 | size=10% 46 | thinktime=${W3THINK} 47 | iodepth=10 48 | thinktime_blocks=10 49 | blocksize=64M 50 | filename=${DEV} 51 | [job4] 52 | rw=trim 53 | size=10% 54 | thinktime=${W4THINK} 55 | thinktime_blocks=1 56 | blocksize=2G 57 | filename=${DEV} 58 | -------------------------------------------------------------------------------- /jobfiles/TypeVIwTRIM_SIT.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | numjobs=${JOBS} 15 | [job0] 16 | rate_iops=${RRATE}, 17 | rw=randread 18 | iodepth=${DEPTH} 19 | bssplit=4k/50:16k/30:32k/20 20 | filename=${DEV} 21 | size=${SIZE} 22 | [job1] 23 | rw=randwrite 24 | percentage_random=0,25,0 25 | thinktime=${W1THINK} 26 | thinktime_blocks=128 27 | percentage_random=25 28 | blocksize=512K 29 | filename=${DEV} 30 | size=${SIZE} 31 | [job2] 32 | rw=randwrite 33 | percentage_random=0,25,0 34 | thinktime=${W2THINK} 35 | thinktime_blocks=160 36 | blocksize=512K 37 | filename=${DEV} 38 | size=${SIZE} 39 | [job3] 40 | startdelay=2s 41 | rw=trim 42 | size=10% 43 | thinktime=${W3THINK} 44 | thinktime_blocks=10 45 | blocksize=64M 46 | filename=${DEV} 47 | [job4] 48 | rw=trim 49 | size=10% 50 | thinktime=${W4THINK} 51 | thinktime_blocks=1 52 | blocksize=2G 53 | filename=${DEV} 54 | -------------------------------------------------------------------------------- /jobfiles/TypeVIwTRIM_precon.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | norandommap 7 | randrepeat=0 8 | buffer_compress_percentage=0 9 | group_reporting=1 10 | numjobs=${JOBS} 11 | ss=bw_slope:0.1% 12 | ss_dur=300 13 | ss_ramp=${TIME} 14 | loops=20 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | [job1] 17 | rw=randwrite 18 | percentage_random=0,25,0 19 | thinktime=${W1THINK} 20 | thinktime_blocks=128 21 | percentage_random=25 22 | blocksize=512K 23 | filename=${DEV} 24 | size=${SIZE} 25 | [job2] 26 | rw=randwrite 27 | percentage_random=0,25,0 28 | thinktime=${W2THINK} 29 | thinktime_blocks=160 30 | blocksize=512K 31 | filename=${DEV} 32 | size=${SIZE} 33 | [job3] 34 | startdelay=2s 35 | rw=trim 36 | size=10% 37 | thinktime=${W3THINK} 38 | iodepth=10 39 | thinktime_blocks=10 40 | blocksize=64M 41 | filename=${DEV} 42 | [job4] 43 | rw=trim 44 | size=10% 45 | thinktime=${W4THINK} 46 | thinktime_blocks=1 47 | blocksize=2G 48 | filename=${DEV} 49 | -------------------------------------------------------------------------------- /jobfiles/TypeVIwTRIM_precon_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=io_uring 4 | direct=1 5 | invalidate=1 6 | norandommap 7 | randrepeat=0 8 | buffer_compress_percentage=0 9 | group_reporting=1 10 | numjobs=${JOBS} 11 | ss=bw_slope:0.1% 12 | ss_dur=300 13 | ss_ramp=${TIME} 14 | loops=20 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | [job1] 17 | rw=randwrite 18 | percentage_random=0,25,0 19 | thinktime=${W1THINK} 20 | thinktime_blocks=128 21 | percentage_random=25 22 | blocksize=512K 23 | filename=${DEV} 24 | size=${SIZE} 25 | [job2] 26 | rw=randwrite 27 | percentage_random=0,25,0 28 | thinktime=${W2THINK} 29 | thinktime_blocks=160 30 | blocksize=512K 31 | filename=${DEV} 32 | size=${SIZE} 33 | [job3] 34 | startdelay=2s 35 | rw=trim 36 | size=10% 37 | thinktime=${W3THINK} 38 | iodepth=10 39 | thinktime_blocks=10 40 | blocksize=64M 41 | filename=${DEV} 42 | [job4] 43 | rw=trim 44 | size=10% 45 | thinktime=${W4THINK} 46 | thinktime_blocks=1 47 | blocksize=2G 48 | filename=${DEV} 49 | -------------------------------------------------------------------------------- /jobfiles/backup.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=${SIZE} 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | ramp_time=${RAMPTIME} 13 | runtime=${TIME} 14 | group_reporting=1 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | filename=${DEV} 17 | 18 | [backup] 19 | numjobs=1 20 | iodepth=${DEPTH1} 21 | rw=randwrite 22 | percentage_random=,11, 23 | blocksize=256k 24 | rate=${RATE1} 25 | 26 | [restore] 27 | numjobs=30 28 | iodepth=${DEPTH2} 29 | percentage_random=99,, 30 | rw=randread 31 | bssplit=4k/1:16k/1:32k/1:64k/2:128k/89:256k/6 32 | rate=${RATE2} 33 | -------------------------------------------------------------------------------- /jobfiles/backup_write_journal.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=${SIZE} 4 | ioengine=libaio 5 | direct=1 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | ramp_time=30s 10 | runtime=${TIME} 11 | group_reporting=1 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | 14 | [writes] 15 | iodepth=${DEPTH1} 16 | percentage_random=,50, 17 | bssplit=,4k/9:8k/1:16k/1:32k/4:64k/64:128k/21 18 | rw=write 19 | filename=${DEV} 20 | rate=${RATE1} 21 | 22 | [trims] 23 | iodepth=${DEPTH2} 24 | rw=trim 25 | bssplit=,,512k/1:2m/2:4m/1:8m/4:16m/6:32m/15:64m/70:128m/1 26 | filename=${DEV} 27 | rate=${RATE2} 28 | -------------------------------------------------------------------------------- /jobfiles/bcache.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=1 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | [BigC_read_main] 16 | rate=${RRATE}m 17 | rw=randread 18 | percentage_random=94,0,0 19 | iodepth=${DEPTH} 20 | bssplit = ${BLKSIZE} 21 | filename=${DEV} 22 | size=95% 23 | [BigC_read_burst] 24 | rw=randread 25 | percentage_random=94,0,0 26 | thinktime=${W1THINK} 27 | thinktime_blocks=600 28 | blocksize=128K 29 | filename=${DEV} 30 | size=${SIZE} 31 | [BigC_write_1] 32 | rw=randwrite 33 | percentage_random=0,10,0 34 | thinktime=${W2THINK} 35 | thinktime_blocks=32 36 | blocksize=2M 37 | filename=${DEV} 38 | size=${SIZE} 39 | [BigC_write_2] 40 | startdelay=2s 41 | rw=randwrite 42 | percentage_random=0,10,0 43 | thinktime=${W3THINK} 44 | thinktime_blocks=32 45 | blocksize=2M 46 | filename=${DEV} 47 | size=${SIZE} 48 | [kworker] 49 | startdelay=30s 50 | rw=randwrite 51 | percentage_random=0,10,0 52 | thinktime=${W4THINK} 53 | thinktime_blocks=3000 54 | blocksize=128K 55 | filename=${DEV} 56 | size=${SIZE} 57 | -------------------------------------------------------------------------------- /jobfiles/bcache_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=io_uring 4 | direct=1 5 | invalidate=1 6 | time_based 7 | runtime=${TIME} 8 | ramp_time=30s 9 | norandommap 10 | randrepeat=0 11 | buffer_compress_percentage=0 12 | group_reporting=1 13 | numjobs=1 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | [BigC_read_main] 16 | rate=${RRATE}m 17 | rw=randread 18 | percentage_random=94,0,0 19 | iodepth=${DEPTH} 20 | bssplit = ${BLKSIZE} 21 | filename=${DEV} 22 | size=95% 23 | [BigC_read_burst] 24 | rw=randread 25 | percentage_random=94,0,0 26 | thinktime=${W1THINK} 27 | thinktime_blocks=600 28 | blocksize=128K 29 | filename=${DEV} 30 | size=${SIZE} 31 | [BigC_write_1] 32 | rw=randwrite 33 | percentage_random=0,10,0 34 | thinktime=${W2THINK} 35 | thinktime_blocks=32 36 | blocksize=2M 37 | filename=${DEV} 38 | size=${SIZE} 39 | [BigC_write_2] 40 | startdelay=2s 41 | rw=randwrite 42 | percentage_random=0,10,0 43 | thinktime=${W3THINK} 44 | thinktime_blocks=32 45 | blocksize=2M 46 | filename=${DEV} 47 | size=${SIZE} 48 | [kworker] 49 | startdelay=30s 50 | rw=randwrite 51 | percentage_random=0,10,0 52 | thinktime=${W4THINK} 53 | thinktime_blocks=3000 54 | blocksize=128K 55 | filename=${DEV} 56 | size=${SIZE} 57 | -------------------------------------------------------------------------------- /jobfiles/bursttrim.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=0 4 | size=${SIZE} 5 | ioengine=libaio 6 | direct=1 7 | invalidate=1 8 | time_based 9 | runtime=${TIME} 10 | ramp_time=30s 11 | norandommap 12 | randrepeat=0 13 | buffer_compress_percentage=0 14 | group_reporting=1 15 | numjobs=${JOBS} 16 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 17 | 18 | [writer] 19 | rate_iops=${RRATE} 20 | rw=randwrite 21 | iodepth=8 22 | blocksize=4k 23 | filename=${DEV} 24 | 25 | [trimmer] 26 | rw=randtrim 27 | bssplit=${BLKSIZE} 28 | iodepth=${DEPTH} 29 | thinktime=${W4THINK} 30 | thinktime_blocks=${DEPTH} 31 | filename=${DEV} 32 | -------------------------------------------------------------------------------- /jobfiles/coldstorage.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=100% 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | ramp_time=${RAMPTIME} 13 | runtime=${TIME} 14 | group_reporting=1 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | filename=${DEV} 17 | 18 | [job0] 19 | numjobs=1 20 | iodepth=26 21 | rw=randrw 22 | rwmixread=94 23 | percentage_random=9,27, 24 | bssplit=4k/11:8k/4:16k/1:64k/2:128k/1:256k/2:512k/29:1m/50,4k/29:8k/3:64k/1:128k/1:256k/4:512k/21:1m/41 25 | -------------------------------------------------------------------------------- /jobfiles/gen.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=${RANDRW} 4 | rwmixread=${RWMIXREAD} 5 | blocksize=${BLKSIZE} 6 | blockalign=${BLKSIZE} 7 | size=${SIZE} 8 | ioengine=${IOENGINE} 9 | iodepth=${DEPTH} 10 | direct=1 11 | loops=1 12 | invalidate=1 13 | time_based 14 | ramp_time=${RAMP} 15 | norandommap 16 | randrepeat=0 17 | runtime=${TIME} 18 | group_reporting=1 19 | random_generator=tausworthe64 20 | numjobs=${NUMJOBS} 21 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 22 | [job0] 23 | filename=${DEV} 24 | -------------------------------------------------------------------------------- /jobfiles/gen_prep_flash.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=200% 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=1 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | [job0] 15 | filename=${DEV} 16 | -------------------------------------------------------------------------------- /jobfiles/gen_randread.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randread 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=1 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=4 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | [job0] 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/gen_randrw.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=1 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=4 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | [job0] 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/gen_randrw_70_30.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randrw 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | rwmixread=70 10 | rwmixwrite=30 11 | direct=1 12 | loops=1 13 | invalidate=1 14 | time_based 15 | ramp_time=30s 16 | norandommap 17 | randrepeat=0 18 | runtime=${TIME} 19 | group_reporting=1 20 | random_generator=tausworthe64 21 | numjobs=4 22 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 23 | [job0] 24 | filename=${DEV} 25 | -------------------------------------------------------------------------------- /jobfiles/gen_randwrite.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=1 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=4 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | [job0] 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/gen_read.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=read 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=1 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=1 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | [job0] 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/gen_write.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=1 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=1 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | [job0] 22 | filename=${DEV} 23 | -------------------------------------------------------------------------------- /jobfiles/idyno.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | group_reporting=1 13 | filename=${DEV} 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | 16 | [pkg_proxy_read] 17 | numjobs=1 18 | iodepth=5 19 | offset=10% 20 | rw=randread 21 | percentage_random=41,0 22 | bssplit=16k/1:32k/2:64k/32:128k/6:256k/43:512k/6:1m/10, 23 | rate=${RATE1}m 24 | 25 | [pkg_proxy_write] 26 | numjobs=1 27 | iodepth=2 28 | rw=randwrite 29 | percentage_random=0,14 30 | bssplit=,64k/10:128k/5:256k/60:512k/10:1m/15, 31 | thinktime=${W1THINK} 32 | thinktime_blocks=40 33 | 34 | [pkg_proxy_write_burst] 35 | numjobs=1 36 | iodepth=1 37 | rw=randwrite 38 | percentage_random=0,14 39 | bssplit=,16k/1:32k/2:64k/6:128k/5:256k/61:512k/12:1m/13, 40 | thinktime=${W2THINK} 41 | thinktime_blocks=2400 42 | startdelay=30s 43 | 44 | [rocksdb_low_read] 45 | numjobs=1 46 | iodepth=53 47 | offset=10% 48 | rw=randread 49 | percentage_random=97,0 50 | bssplit=4k/29:8k/26:16k/19:32k/11:64k/7:128k/5:256k/3 51 | thinktime=${W2THINK} 52 | thinktime_blocks=3400 53 | startdelay=60s 54 | 55 | [rocksdb_low_write] 56 | numjobs=1 57 | iodepth=1 58 | rw=randwrite 59 | percentage_random=0,2 60 | bssplit=,32k/1:64k/1:128k/2:256k/73:1024k/22 61 | thinktime=${W2THINK} 62 | thinktime_blocks=214 63 | startdelay=59s 64 | 65 | [fs-transacti] 66 | numjobs=1 67 | iodepth=5 68 | rw=randwrite 69 | percentage_random=0,92 70 | bssplit=,32k/40:64k/30:128k/15:256k/15 71 | thinktime=${W3THINK} 72 | thinktime_blocks=40 73 | 74 | [kworker] 75 | numjobs=1 76 | iodepth=1 77 | rw=randwrite 78 | percentage_random=0,50 79 | bssplit=,4k/10:16k/10:32k/60:256k/10:512k/10 80 | thinktime=${W1THINK} 81 | thinktime_blocks=10 82 | 83 | [trims] 84 | numjobs=1 85 | iodepth=1 86 | size=10% 87 | rw=trim 88 | bssplit=,,32K/100 89 | thinktime=${W1THINK} 90 | thinktime_blocks=4 91 | -------------------------------------------------------------------------------- /jobfiles/idyno_sweep.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | group_reporting=1 13 | filename=${DEV} 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | 16 | [pkg_proxy_read] 17 | numjobs=1 18 | iodepth=5 19 | offset=10% 20 | rw=randread 21 | percentage_random=41,0 22 | bssplit=16k/1:32k/2:64k/32:128k/6:256k/43:512k/6:1m/10, 23 | rate=${RATE1}m 24 | 25 | [pkg_proxy_write] 26 | numjobs=1 27 | iodepth=2 28 | rw=randwrite 29 | percentage_random=0,14 30 | bssplit=,64k/10:128k/5:256k/60:512k/10:1m/15, 31 | thinktime=${W1THINK} 32 | thinktime_blocks=40 33 | 34 | [pkg_proxy_write_burst] 35 | numjobs=1 36 | iodepth=1 37 | rw=randwrite 38 | percentage_random=0,14 39 | bssplit=,16k/1:32k/2:64k/6:128k/5:256k/61:512k/12:1m/13, 40 | thinktime=${W2THINK} 41 | thinktime_blocks=2400 42 | startdelay=30s 43 | 44 | [rocksdb_low_read] 45 | numjobs=1 46 | iodepth=53 47 | offset=10% 48 | rw=randread 49 | percentage_random=97,0 50 | bssplit=4k/29:8k/26:16k/19:32k/11:64k/7:128k/5:256k/3 51 | thinktime=${W4THINK} 52 | thinktime_blocks=3400 53 | startdelay=60s 54 | 55 | [rocksdb_low_write] 56 | numjobs=1 57 | iodepth=1 58 | rw=randwrite 59 | percentage_random=0,2 60 | bssplit=,32k/1:64k/1:128k/2:256k/74:1024k/22 61 | thinktime=${W2THINK} 62 | thinktime_blocks=214 63 | startdelay=59s 64 | 65 | [fs-transacti] 66 | numjobs=1 67 | iodepth=5 68 | rw=randwrite 69 | percentage_random=0,92 70 | bssplit=,32k/40:64k/30:128k/15:256k/15 71 | thinktime=${W3THINK} 72 | thinktime_blocks=40 73 | 74 | [kworker] 75 | numjobs=1 76 | iodepth=1 77 | rw=randwrite 78 | percentage_random=0,50 79 | bssplit=,4k/10:16k/10:32k/60:256k/10:512k/10 80 | thinktime=${W1THINK} 81 | thinktime_blocks=10 82 | 83 | [trims] 84 | numjobs=1 85 | iodepth=1 86 | size=10% 87 | rw=trim 88 | bssplit=,,32K/100 89 | thinktime=${W5THINK} 90 | thinktime_blocks=4 91 | -------------------------------------------------------------------------------- /jobfiles/prep.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | -------------------------------------------------------------------------------- /jobfiles/prep_flash.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | [job0] 15 | filename=${DEV} 16 | 17 | 18 | -------------------------------------------------------------------------------- /jobfiles/prep_flash_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | [job0] 15 | filename=${DEV} 16 | 17 | 18 | -------------------------------------------------------------------------------- /jobfiles/prep_flash_rand.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | -------------------------------------------------------------------------------- /jobfiles/prep_flash_rand_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | -------------------------------------------------------------------------------- /jobfiles/prep_flash_rand_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=64m 7 | ioengine=./libfio_ws_sn.so 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=0 12 | group_reporting=1 13 | runtime=120 14 | time_based=1 15 | do_verify=0 16 | numjobs=6 17 | create_on_open=1 18 | unlink=1 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 21 | -------------------------------------------------------------------------------- /jobfiles/prep_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | -------------------------------------------------------------------------------- /jobfiles/prep_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=64m 7 | ioengine=./libfio_ws_sn.so 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=0 12 | group_reporting=1 13 | numjobs=6 14 | create_on_open=1 15 | unlink=1 16 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 17 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 18 | -------------------------------------------------------------------------------- /jobfiles/prep_rand.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=100% 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=2 11 | invalidate=1 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | [job0] 15 | filename=${DEV} 16 | -------------------------------------------------------------------------------- /jobfiles/randread.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randread 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=4 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | -------------------------------------------------------------------------------- /jobfiles/randread_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randread 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=4 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | -------------------------------------------------------------------------------- /jobfiles/randread_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=randread 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=./libfio_ws_sn.so 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=0 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=6 20 | create_on_open=1 21 | unlink=1 22 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 23 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 24 | -------------------------------------------------------------------------------- /jobfiles/randwrite.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=4 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | -------------------------------------------------------------------------------- /jobfiles/randwrite_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=4 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | -------------------------------------------------------------------------------- /jobfiles/randwrite_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=randwrite 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=./libfio_ws_sn.so 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=0 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | random_generator=tausworthe64 19 | numjobs=6 20 | create_on_open=1 21 | unlink=1 22 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 23 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 24 | -------------------------------------------------------------------------------- /jobfiles/readhammer.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # Read from 32 different regions of a flash device. 3 | # Each job will read continuously from a 16MB logical 4 | # region of the flash device. 5 | 6 | [global] 7 | bs=${BLKSIZE} 8 | direct=1 9 | rw=read 10 | ioengine=libaio 11 | iodepth=${DEPTH} 12 | loops=1000000000 13 | time_based 14 | runtime=3600s 15 | group_reporting=1 16 | offset=${OFFSET1}m 17 | offset_increment=${INCREMENT}m 18 | numjobs=32 19 | size=128M 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | -------------------------------------------------------------------------------- /jobfiles/rsw_burst.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | 16 | [background] 17 | numjobs=2 18 | iodepth=1 19 | rw=randrw 20 | rwmixwrite=94 21 | percentage_random=99,96 22 | bssplit=,4k/87:8k/10:32K/1:64K/1:128K/1, 23 | rate=3k,44k 24 | 25 | [burst] 26 | numjobs=1 27 | iodepth=10 28 | rw=randread 29 | percentage_random=97 30 | bssplit=4k/88:8k/1:16K/1:32K/1:64K/4:128K/5, 31 | thinktime=${W1THINK} 32 | thinktime_blocks=33700 33 | -------------------------------------------------------------------------------- /jobfiles/rsw_cp.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=100% 4 | ioengine=libaio 5 | direct=1 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | ramp_time=${RAMPTIME} 12 | runtime=${TIME} 13 | group_reporting=1 14 | random_generator=tausworthe64 15 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 16 | filename=${DEV} 17 | 18 | [swap] 19 | rw=randwrite 20 | iodepth=60 21 | blocksize=4k 22 | rate_iops=${RATE1} 23 | 24 | [cp_read] 25 | iodepth=1 26 | rw=randrw 27 | rwmixread=100 28 | percentage_random=70 29 | bssplit=4k/10:256k/90 30 | rate=${RATE2}m 31 | 32 | [cp_write] 33 | iodepth=1 34 | rw=randrw 35 | rwmixread=0 36 | percentage_random=20 37 | bssplit=4k/100 38 | rate=${DEPTH1}m 39 | numjobs=4 40 | 41 | -------------------------------------------------------------------------------- /jobfiles/rsw_cp_precon.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=100% 4 | ioengine=libaio 5 | direct=1 6 | loops=10000 7 | invalidate=1 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | group_reporting=1 12 | random_generator=tausworthe64 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | loops=1 16 | 17 | [swap] 18 | rw=randwrite 19 | iodepth=60 20 | blocksize=4k 21 | rate_iops=${RATE1} 22 | 23 | [cp_read] 24 | iodepth=1 25 | rw=randrw 26 | rwmixread=100 27 | percentage_random=70 28 | bssplit=4k/10:256k/90 29 | rate=${RATE2}m 30 | 31 | [cp_write] 32 | iodepth=1 33 | rw=randrw 34 | rwmixread=0 35 | percentage_random=20 36 | bssplit=4k/100 37 | rate=${DEPTH1}m 38 | numjobs=4 39 | 40 | -------------------------------------------------------------------------------- /jobfiles/rsw_cp_vtrim.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | loops=10000 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | group_reporting=1 13 | random_generator=tausworthe64 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | filename=${DEV} 16 | 17 | [swap] 18 | rw=randwrite 19 | iodepth=60 20 | blocksize=4k 21 | rate_iops=${RATE1} 22 | size=100% 23 | 24 | [cp_read] 25 | offset=10% 26 | iodepth=1 27 | rw=randrw 28 | rwmixread=100 29 | percentage_random=70 30 | bssplit=4k/10:256k/90 31 | rate=${RATE2}m 32 | size=${SIZE} 33 | 34 | [cp_write] 35 | iodepth=1 36 | rw=randrw 37 | rwmixread=0 38 | percentage_random=20 39 | bssplit=4k/100 40 | rate=${DEPTH1}m 41 | numjobs=4 42 | size=100% 43 | 44 | [trim1] 45 | numjobs=4 46 | iodepth=4 47 | rw=trim 48 | size=10% 49 | bssplit=${MISC} 50 | thinktime=${W1THINK} 51 | thinktime_blocks=240 52 | 53 | [trim2] 54 | iodepth=1 55 | rw=trim 56 | size=10% 57 | bssplit=,,8M/25:32M/75 58 | thinktime=${W2THINK} 59 | thinktime_blocks=4 60 | -------------------------------------------------------------------------------- /jobfiles/rsw_cp_wtrim.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | loops=10000 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | group_reporting=1 13 | random_generator=tausworthe64 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | filename=${DEV} 16 | 17 | [swap] 18 | rw=randwrite 19 | iodepth=60 20 | blocksize=4k 21 | thinktime=${W3THINK} 22 | thinktime_blocks=130 23 | size=100% 24 | 25 | [cp_read] 26 | offset=10% 27 | iodepth=1 28 | rw=randrw 29 | rwmixread=100 30 | percentage_random=70 31 | bssplit=4k/10:256k/90 32 | rate=${RATE2}m 33 | numjobs=3 34 | size=${SIZE} 35 | 36 | [cp_write] 37 | iodepth=3 38 | rw=randwrite 39 | percentage_random=100 40 | bssplit=256K/33:512K/33:2M/33 41 | thinktime=${W4THINK} 42 | thinktime_blocks=3 43 | numjobs=4 44 | size=100% 45 | 46 | [trim1] 47 | numjobs=4 48 | iodepth=4 49 | rw=trim 50 | size=10% 51 | bssplit=,,4K/12:8K/6:16K/3:64K/1:512K/1:8M/22:16M/20:32M/21:64M/14 52 | thinktime=${W1THINK} 53 | thinktime_blocks=240 54 | 55 | [trim2] 56 | iodepth=1 57 | rw=trim 58 | size=10% 59 | bssplit=,,8M/25:32M/75 60 | thinktime=${W2THINK} 61 | thinktime_blocks=4 62 | -------------------------------------------------------------------------------- /jobfiles/search2.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=${SIZE} 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | runtime=${TIME} 13 | group_reporting=1 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | filename=${DEV} 16 | numjobs=${JOBS} 17 | 18 | [job0] 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate_iops=${RRATE} 23 | [job1] 24 | rw=randwrite 25 | percentage_random=0,25,0 26 | thinktime=${W1THINK} 27 | thinktime_blocks=128 28 | percentage_random=25 29 | blocksize=512K 30 | filename=${DEV} 31 | [job2] 32 | rw=randwrite 33 | percentage_random=0,25,0 34 | thinktime=${W2THINK} 35 | thinktime_blocks=160 36 | blocksize=512K 37 | filename=${DEV} 38 | -------------------------------------------------------------------------------- /jobfiles/search3.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=${SIZE} 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | runtime=${TIME} 13 | group_reporting=1 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | filename=${DEV} 16 | numjobs=${JOBS} 17 | 18 | [job0] 19 | iodepth=${DEPTH} 20 | rw=randread 21 | blocksize=${BLKSIZE} 22 | blockalign=${BLKSIZE} 23 | rate_iops=${RRATE}, 24 | [job1] 25 | numjobs=10 26 | iodepth=100 27 | rw=randread 28 | percentage_random=100,0,0 29 | thinktime=${W3THINK} 30 | thinktime_blocks=1024 31 | blocksize=8K 32 | filename=${DEV} 33 | [job2] 34 | rw=randwrite 35 | percentage_random=0,25,0 36 | thinktime=${W1THINK} 37 | thinktime_blocks=128 38 | blocksize=512K 39 | filename=${DEV} 40 | [job3] 41 | rw=randwrite 42 | percentage_random=0,25,0 43 | thinktime=${W2THINK} 44 | thinktime_blocks=160 45 | blocksize=512K 46 | filename=${DEV} 47 | -------------------------------------------------------------------------------- /jobfiles/searchdoc_noTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | 17 | [job0] 18 | iodepth=${DEPTH} 19 | rw=randread 20 | blocksize=${BLKSIZE} 21 | blockalign=${BLKSIZE} 22 | rate_iops=${RRATE}, 23 | size=${SIZE} 24 | [job1] 25 | numjobs=10 26 | iodepth=100 27 | rw=randread 28 | percentage_random=100,0,0 29 | thinktime=${W3THINK} 30 | thinktime_blocks=1024 31 | blocksize=8K 32 | filename=${DEV} 33 | size=${SIZE} 34 | [job2] 35 | rw=randwrite 36 | percentage_random=0,25,0 37 | thinktime=${W1THINK} 38 | thinktime_blocks=128 39 | blocksize=512K 40 | filename=${DEV} 41 | size=${SIZE} 42 | [job3] 43 | rw=randwrite 44 | percentage_random=0,25,0 45 | thinktime=${W2THINK} 46 | thinktime_blocks=160 47 | blocksize=512K 48 | filename=${DEV} 49 | size=${SIZE} 50 | -------------------------------------------------------------------------------- /jobfiles/searchdoc_wTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | blocksize=${BLKSIZE} 22 | blockalign=${BLKSIZE} 23 | rate_iops=${RRATE}, 24 | size=95% 25 | [job1] 26 | offset=${OFFSET2}m 27 | numjobs=10 28 | iodepth=100 29 | rw=randread 30 | percentage_random=100,0,0 31 | thinktime=${W3THINK} 32 | thinktime_blocks=1024 33 | blocksize=8K 34 | filename=${DEV} 35 | size=95% 36 | [job2] 37 | rw=randwrite 38 | percentage_random=0,25,0 39 | thinktime=${W1THINK} 40 | thinktime_blocks=128 41 | blocksize=512K 42 | filename=${DEV} 43 | size=${SIZE} 44 | [job3] 45 | rw=randwrite 46 | percentage_random=0,25,0 47 | thinktime=${W2THINK} 48 | thinktime_blocks=160 49 | blocksize=512K 50 | filename=${DEV} 51 | size=${SIZE} 52 | [job4] 53 | startdelay=2s 54 | rw=trim 55 | size=5% 56 | thinktime=${W5THINK} 57 | iodepth=10 58 | thinktime_blocks=10 59 | blocksize=64M 60 | filename=${DEV} 61 | [job5] 62 | rw=trim 63 | size=5% 64 | thinktime=${W4THINK} 65 | thinktime_blocks=1 66 | blocksize=2G 67 | filename=${DEV} 68 | -------------------------------------------------------------------------------- /jobfiles/searchindex_noTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | ramp_time=30s 17 | [job0] 18 | iodepth=${DEPTH} 19 | rw=randread 20 | bssplit=${BLKSIZE} 21 | rate=${RRATE}m, 22 | size=${SIZE} 23 | [job1] 24 | numjobs=10 25 | iodepth=100 26 | rw=randread 27 | percentage_random=100,0,0 28 | thinktime=${W3THINK} 29 | thinktime_blocks=1024 30 | blocksize=8K 31 | filename=${DEV} 32 | size=${SIZE} 33 | [job2] 34 | rw=randwrite 35 | percentage_random=0,25,0 36 | thinktime=${W1THINK} 37 | thinktime_blocks=128 38 | blocksize=512K 39 | filename=${DEV} 40 | size=${SIZE} 41 | [job3] 42 | rw=randwrite 43 | percentage_random=0,25,0 44 | thinktime=${W2THINK} 45 | thinktime_blocks=160 46 | blocksize=512K 47 | filename=${DEV} 48 | size=${SIZE} 49 | -------------------------------------------------------------------------------- /jobfiles/searchindex_wTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | ramp_time=30s 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate=${RRATE}m, 23 | size=95% 24 | [job1] 25 | offset=${OFFSET2}m 26 | numjobs=10 27 | iodepth=100 28 | rw=randread 29 | percentage_random=100,0,0 30 | thinktime=${W3THINK} 31 | thinktime_blocks=1024 32 | blocksize=8K 33 | filename=${DEV} 34 | size=95% 35 | [job2] 36 | rw=randwrite 37 | percentage_random=0,25,0 38 | thinktime=${W1THINK} 39 | thinktime_blocks=128 40 | blocksize=512K 41 | filename=${DEV} 42 | size=${SIZE} 43 | [job3] 44 | rw=randwrite 45 | percentage_random=0,25,0 46 | thinktime=${W2THINK} 47 | thinktime_blocks=160 48 | blocksize=512K 49 | filename=${DEV} 50 | size=${SIZE} 51 | [job4] 52 | startdelay=2s 53 | rw=trim 54 | size=5% 55 | thinktime=${W5THINK} 56 | iodepth=10 57 | thinktime_blocks=10 58 | blocksize=64M 59 | filename=${DEV} 60 | [job5] 61 | rw=trim 62 | size=5% 63 | thinktime=${W4THINK} 64 | thinktime_blocks=1 65 | blocksize=2G 66 | filename=${DEV} 67 | -------------------------------------------------------------------------------- /jobfiles/searchindex_wTRIM_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=io_uring 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | ramp_time=30s 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate=${RRATE}m, 23 | size=95% 24 | [job1] 25 | offset=${OFFSET2}m 26 | numjobs=10 27 | iodepth=100 28 | rw=randread 29 | percentage_random=100,0,0 30 | thinktime=${W3THINK} 31 | thinktime_blocks=1024 32 | blocksize=8K 33 | filename=${DEV} 34 | size=95% 35 | [job2] 36 | rw=randwrite 37 | percentage_random=0,25,0 38 | thinktime=${W1THINK} 39 | thinktime_blocks=128 40 | blocksize=512K 41 | filename=${DEV} 42 | size=${SIZE} 43 | [job3] 44 | rw=randwrite 45 | percentage_random=0,25,0 46 | thinktime=${W2THINK} 47 | thinktime_blocks=160 48 | blocksize=512K 49 | filename=${DEV} 50 | size=${SIZE} 51 | [job4] 52 | startdelay=2s 53 | rw=trim 54 | size=5% 55 | thinktime=${W5THINK} 56 | iodepth=10 57 | thinktime_blocks=10 58 | blocksize=64M 59 | filename=${DEV} 60 | [job5] 61 | rw=trim 62 | size=5% 63 | thinktime=${W4THINK} 64 | thinktime_blocks=1 65 | blocksize=2G 66 | filename=${DEV} 67 | -------------------------------------------------------------------------------- /jobfiles/searchlm_wTRIM.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | ramp_time=30s 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate=${RRATE}m, 23 | size=95% 24 | [job1] 25 | offset=${OFFSET2}m 26 | numjobs=5 27 | iodepth=50 28 | rw=randread 29 | percentage_random=100,0,0 30 | thinktime=${W3THINK} 31 | thinktime_blocks=256 32 | bssplit=${BLKSIZE} 33 | filename=${DEV} 34 | size=95% 35 | [job2] 36 | rw=randwrite 37 | percentage_random=0,2,0 38 | thinktime=${W2THINK} 39 | thinktime_blocks=150 40 | blocksize=512K 41 | filename=${DEV} 42 | size=${SIZE} 43 | [job4] 44 | startdelay=30s 45 | rw=trim 46 | size=5% 47 | thinktime=${W1THINK} 48 | thinktime_blocks=15 49 | blocksize=64M 50 | filename=${DEV} 51 | [job5] 52 | startdelay=35s 53 | rw=trim 54 | size=5% 55 | thinktime=${W1THINK} 56 | thinktime_blocks=3 57 | blocksize=1G 58 | filename=${DEV} 59 | -------------------------------------------------------------------------------- /jobfiles/searchlm_wTRIM_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=io_uring 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | ramp_time=30s 17 | [job0] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | bssplit=${BLKSIZE} 22 | rate=${RRATE}m, 23 | size=95% 24 | [job1] 25 | offset=${OFFSET2}m 26 | numjobs=5 27 | iodepth=50 28 | rw=randread 29 | percentage_random=100,0,0 30 | thinktime=${W3THINK} 31 | thinktime_blocks=256 32 | bssplit=${BLKSIZE} 33 | filename=${DEV} 34 | size=95% 35 | [job2] 36 | rw=randwrite 37 | percentage_random=0,2,0 38 | thinktime=${W2THINK} 39 | thinktime_blocks=150 40 | blocksize=512K 41 | filename=${DEV} 42 | size=${SIZE} 43 | [job4] 44 | startdelay=30s 45 | rw=trim 46 | size=5% 47 | thinktime=${W1THINK} 48 | thinktime_blocks=15 49 | blocksize=64M 50 | filename=${DEV} 51 | [job5] 52 | startdelay=35s 53 | rw=trim 54 | size=5% 55 | thinktime=${W1THINK} 56 | thinktime_blocks=3 57 | blocksize=1G 58 | filename=${DEV} 59 | -------------------------------------------------------------------------------- /jobfiles/seqread.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=read 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=4 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | -------------------------------------------------------------------------------- /jobfiles/seqread_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=read 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=4 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | -------------------------------------------------------------------------------- /jobfiles/seqread_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=read 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=./libfio_ws_sn.so 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=0 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=6 19 | create_on_open=1 20 | unlink=1 21 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 22 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 23 | -------------------------------------------------------------------------------- /jobfiles/seqwrite.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=4 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | -------------------------------------------------------------------------------- /jobfiles/seqwrite_io_uring.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=io_uring 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=4 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | -------------------------------------------------------------------------------- /jobfiles/seqwrite_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=./libfio_ws_sn.so 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=0 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=6 19 | create_on_open=1 20 | unlink=1 21 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 22 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 23 | -------------------------------------------------------------------------------- /jobfiles/seqwrite_write_journal.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | size=${SIZE} 4 | ioengine=libaio 5 | direct=1 6 | loops=10000 7 | invalidate=1 8 | ramp_time=30s 9 | time_based 10 | runtime=${TIME} 11 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 12 | group_reporting=1 13 | numjobs=${JOBS} 14 | 15 | [writes] 16 | iodepth=${DEPTH1} 17 | percentage_random=,63, 18 | bssplit=,4k/1:32k/1:64k/49:128k/49 19 | rw=write 20 | filename=${DEV} 21 | rate=${RATE1} 22 | 23 | [trims] 24 | iodepth=${DEPTH2} 25 | rw=trim 26 | bssplit=,,2m/1:4m/1:8m/2:16m/8:32m/17:64m/54:128m/17 27 | filename=${DEV} 28 | rate=${RATE2} 29 | -------------------------------------------------------------------------------- /jobfiles/stacking.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | ioengine=libaio 4 | direct=1 5 | loops=10000 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | group_reporting=1 13 | random_generator=tausworthe64 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | filename=${DEV} 16 | 17 | [rd-hashd] 18 | offset=10% 19 | rw=randread 20 | iodepth=60 21 | bssplit=4K/60:8K/7:16K/9:32K/9:64K/7:128K/7:256K/1 22 | rate=${RATE1}m 23 | size=90% 24 | 25 | [kswapd] 26 | iodepth=2 27 | rw=randrw 28 | rwmixread=0 29 | percentage_random=0 30 | blocksize=4K 31 | size=${SIZE} 32 | thinktime=${W1THINK} 33 | thinktime_blocks=500 34 | 35 | [kworker_write] 36 | iodepth=80 37 | rw=randrw 38 | rwmixread=0 39 | percentage_random=20 40 | bssplit=4k/26:8K/6:16K/1:32K/2:64K/3:128K/7:256K/21:512K/12:1M/22 41 | numjobs=1 42 | size=100% 43 | thinktime=${W2THINK} 44 | thinktime_blocks=500 45 | 46 | [trim1] 47 | numjobs=4 48 | iodepth=2 49 | rw=trim 50 | size=10% 51 | bssplit=,,64MB 52 | thinktime=${W3THINK} 53 | thinktime_blocks=1 54 | 55 | [trim2] 56 | iodepth=1 57 | rw=trim 58 | size=10% 59 | bssplit=,,2M/75:4M/25 60 | thinktime=${W4THINK} 61 | thinktime_blocks=4 62 | -------------------------------------------------------------------------------- /jobfiles/trim.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=trim 4 | bs=${BLKSIZE} 5 | loops=2 6 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 7 | -------------------------------------------------------------------------------- /jobfiles/trim_libfio_ws.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [job] 3 | rw=trim 4 | bs=${BLKSIZE} 5 | loops=2 6 | size=${SIZE} 7 | invalidate=0 8 | numjobs=6 9 | create_on_open=1 10 | ioengine=./libfio_ws_sn.so 11 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 12 | gflags=--num_mounts=6 --num_chunks=100 --target_ip=${MISC} --target_port=12345 --target_parent_tier=ws.test --is_ssd_test=true --sn_fast_path --sn_read_bypass_cache 13 | -------------------------------------------------------------------------------- /jobfiles/trimrate.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | bs=${BLKSIZE} 4 | rw=randtrim 5 | time_based 6 | runtime=1m 7 | group_reporting=1 8 | numjobs=${JOBS} 9 | size=100% 10 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 11 | [job0] 12 | filename=${DEV} 13 | -------------------------------------------------------------------------------- /jobfiles/twfeed.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | ramp_time=${RAMPTIME} 12 | runtime=${TIME} 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | group_reporting=1 15 | filename=${DEV} 16 | 17 | [small_writes] 18 | numjobs=1 19 | iodepth=1 20 | rw=randwrite 21 | blocksize=,4k, 22 | rate=,2275, 23 | 24 | [trims] 25 | numjobs=1 26 | iodepth=1 27 | rw=trim 28 | size=10% 29 | bssplit=,,4k/58:8k/33:16k/5:32K/1:64K/1:128K/1:2048k/1 30 | rate_iops=,1, 31 | 32 | [background] 33 | numjobs=1 34 | iodepth=24 35 | rw=randwrite 36 | bssplit=,4k/81:8k/10:16k/2:32k/1:64k/2:128k/1:1024k/1, 37 | rate=,144k, 38 | 39 | [burst] 40 | numjobs=1 41 | iodepth=1 42 | rw=write 43 | blocksize=,4k/15:1024k:85, 44 | thinktime_blocks=100 45 | thinktime=${W1THINK} 46 | -------------------------------------------------------------------------------- /jobfiles/twi_iris.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | runtime=${TIME} 11 | ramp_time=${RAMPTIME} 12 | offset=10% 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | group_reporting=1 15 | filename=${DEV} 16 | 17 | [loop_num] 18 | numjobs=3 19 | iodepth=3 20 | rw=randrw 21 | rwmixread=100 22 | percentage_random=92 23 | bssplit=4k/4:8k/1:16k/1:32k/1:36k-60k/29:64k/8:68k-124k/42:132k-252k/8:256k/1:260k-508k/3 24 | rate_iops=${RATE1} 25 | 26 | [btrfs] 27 | numjobs=10 28 | iodepth=3 29 | rw=randwrite 30 | bssplit=,4k/1:16k/29:32k/26:36k-60k/6:64k/8:68k-124k/8:132k-252k/4:256k/13:260k-508k/2, 31 | thinktime=${W1THINK} 32 | thinktime_blocks=125 33 | 34 | [rocksdb] 35 | numjobs=1 36 | iodepth=56 37 | rw=randrw 38 | rwmixread=52 39 | percentage_random=77,54 40 | bssplit=4k/25:8k/13:12k/8:16k/6:20k-28k/9:32k/4:36k-60k/5:64k-128k/4:132k-512k/9:516k-1m/16:1m/1,4k/3:16k/5:20k-28k/4:32k/19:36k-64k/2:68k-256k/2:260k-512k/2:516k-1m/61:1m/2 41 | rate=${RATE2} 42 | 43 | [squashfuse_ll] 44 | startdelay=15s 45 | iodepth=20 46 | rw=randrw 47 | rwmixread=100 48 | percentage_random=95 49 | bssplit=4k/28:8k/12:12k/7:16k/6:20k-28k/10:32k/3:36k-60k/10:64k-128k/14:132k-256k/4:260k-512k/2:516k-1m/3:1m/1 50 | thinktime=${W3THINK} 51 | thinktime_blocks=200 52 | 53 | [fbpkg] 54 | numjobs=3 55 | iodepth=4 56 | rw=randrw 57 | rwmixread=74 58 | percentage_random=66,97 59 | bssplit=16k/75:20k-128/4:132k-256k/2:260k-508k/3:512k/12:516k-1m/3:1m/1,16k/56:32k/3:36k-60k/2:64k/2:68k-124k/4:128k/1:132k-256k/16:260k-508k/4:512k/8:516k-1m/4 60 | rate=${DEPTH2} 61 | 62 | [trims] 63 | numjobs=10 64 | iodepth=8 65 | offset=0 66 | size=10% 67 | rw=trim 68 | bssplit=,,4k/12:8k/19:16k/9:32k/35:64k/13:128k/4:256k/7:512k/1 69 | thinktime=${W2THINK} 70 | thinktime_blocks=150 71 | 72 | -------------------------------------------------------------------------------- /jobfiles/twi_iris_precon.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | norandommap 8 | randrepeat=0 9 | ramp_time=${RAMPTIME} 10 | offset=10% 11 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 12 | group_reporting=1 13 | filename=${DEV} 14 | loops=1 15 | 16 | [btrfs] 17 | numjobs=2 18 | iodepth=3 19 | rw=randwrite 20 | bssplit=,4k/1:16k/29:32k/26:36k-60k/6:64k/8:68k-124k/8:132k-252k/4:256k/13:260k-508k/2, 21 | thinktime=${W1THINK} 22 | thinktime_blocks=125 23 | 24 | [rocksdb] 25 | numjobs=1 26 | iodepth=56 27 | rw=randrw 28 | rwmixread=0 29 | percentage_random=77,54 30 | bssplit=4k/25:8k/13:12k/8:16k/6:20k-28k/9:32k/4:36k-60k/5:64k-128k/4:132k-512k/9:516k-1m/16:1m/1,4k/3:16k/5:20k-28k/4:32k/19:36k-64k/2:68k-256k/2:260k-512k/2:516k-1m/61:1m/2 31 | rate=${RATE2} 32 | 33 | [fbpkg] 34 | numjobs=1 35 | iodepth=4 36 | rw=randrw 37 | rwmixread=0 38 | percentage_random=66,97 39 | bssplit=16k/75:20k-128/4:132k-256k/2:260k-508k/3:512k/12:516k-1m/3:1m/1,16k/56:32k/3:36k-60k/2:64k/2:68k-124k/4:128k/1:132k-256k/16:260k-508k/4:512k/8:516k-1m/4 40 | rate=${DEPTH2} 41 | 42 | [trims] 43 | numjobs=4 44 | iodepth=8 45 | offset=0 46 | size=10% 47 | rw=trim 48 | bssplit=,,4k/12:8k/19:16k/9:32k/35:64k/13:128k/4:256k/7:512k/1 49 | thinktime=${W2THINK} 50 | thinktime_blocks=150 51 | 52 | -------------------------------------------------------------------------------- /jobfiles/twshared-pkg.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [pkg_fetch_read] 17 | numjobs=1 18 | iodepth=5 19 | offset=10% 20 | rw=randread 21 | percentage_random=44,0 22 | bssplit=16k/70:32k/2:64k/3:128k/4:256k/4:512k/17 23 | thinktime=${W1THINK} 24 | thinktime_blocks=600 25 | 26 | [kworker_read] 27 | numjobs=1 28 | iodepth=1 29 | offset=10% 30 | rw=randread 31 | percentage_random=62,0 32 | bssplit=16k/40:32k/1:64k/2:128k/3:256k/3:512k/50:1024k/1 33 | rate=${RATE1}m 34 | 35 | [kworker_write] 36 | numjobs=1 37 | iodepth=1 38 | rw=randwrite 39 | percentage_random=0,99 40 | bssplit=,16k/17:32k/8:64k/32:128k/29:256k/12:512k/2 41 | thinktime=${W2THINK} 42 | thinktime_blocks=600 43 | 44 | [trims] 45 | startdelay=2s 46 | numjobs=1 47 | iodepth=1 48 | size=10% 49 | rw=trim 50 | bssplit=,,4k/1:8k/3:16k/54:32k/14:64k/11:128k/4:256k/7:512k/5:1m/1 51 | thinktime=${W3THINK} 52 | thinktime_blocks=1000 53 | -------------------------------------------------------------------------------- /jobfiles/twshared.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [read_write] 17 | numjobs=1 18 | iodepth=3 19 | offset=10% 20 | rw=randrw 21 | rwmixwrite=49 22 | percentage_random=81,86 23 | bssplit=4k/21:8k/11:16k/44:32k/8:64k/4:128k/3:256k/3:512k/3:1024k/3,4k/20:8k/6:16k/23:32k/13:64k/7:128k/4:256k/9:512k/5:1024k/13, 24 | rate=${RATE1} 25 | 26 | [trims] 27 | numjobs=1 28 | iodepth=1 29 | size=10% 30 | rw=trim 31 | bssplit=,,4k/7:8k/4:16k/45:32k/20:64k/8:128k/4:256k/9:512k/1:4m/1:64m/1 32 | thinktime=${W1THINK} 33 | thinktime_blocks=750 34 | -------------------------------------------------------------------------------- /jobfiles/udb_boot.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | ramp_time=${RAMPTIME} 12 | runtime=${TIME} 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | group_reporting=1 15 | filename=${DEV} 16 | 17 | [writes] 18 | rw=randwrite 19 | percentage_random=,92, 20 | iodepth=128 21 | bssplit=,4k/69:8k/4:12k-16k/5.:20k-28k/3:32k-60k/3:64k-124k/2:128k-252k/1:256k-508k/6:512k-1000k/1:1m/6, 22 | thinktime_blocks=1000 23 | thinktime=${W1THINK} 24 | 25 | 26 | [reads] 27 | rw=randread 28 | percentage_random=75,, 29 | offset=10% 30 | bssplit=4k/44:8k/5:12k/3:16k/5:20k-30k/4:32k/2:36k-60k/5:64k/1:68k-124k/10:128k/17:132k-256k/4,, 31 | thinktime_blocks=5000 32 | thinktime=${W2THINK} 33 | 34 | 35 | [trims] 36 | numjobs=1 37 | iodepth=1 38 | size=10% 39 | rw=trim 40 | bssplit=,,4k/51:8k/30:16k/10:32k/1:64k/1:256k/1:512k/1:1m/1:2m/2:4m/1:8m/1 41 | thinktime=${W1THINK} 42 | thinktime_blocks=20 43 | -------------------------------------------------------------------------------- /jobfiles/wildcard.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | ramp_time=30s 17 | [read_thread_poo1] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | percentage_random=84,0,0 22 | bssplit=${BLKSIZE} 23 | rate=${RRATE}m, 24 | size=${SIZE} 25 | [read_thread_poo2] 26 | offset=${OFFSET2}m 27 | iodepth=${DEPTH} 28 | rw=randread 29 | percentage_random=84,0,0 30 | bssplit=${BLKSIZE} 31 | rate=${RRATE}m, 32 | size=${SIZE} 33 | [xfsaild] 34 | rw=randwrite 35 | percentage_random=0,55,0 36 | thinktime=30000000 37 | thinktime_blocks=50 38 | numjobs=4 39 | iodepth=50 40 | bssplit=4K/50:8K/50 41 | filename=${DEV} 42 | size=${SIZE} 43 | [rocksdb] 44 | rw=randwrite 45 | percentage_random=0,55,0 46 | thinktime=${W1THINK} 47 | thinktime_blocks=1 48 | blocksize=1M 49 | filename=${DEV} 50 | size=${SIZE} 51 | [kworker] 52 | rw=randwrite 53 | percentage_random=0,2,0 54 | thinktime=5000000 55 | thinktime_blocks=30 56 | iodepth=30 57 | blocksize=1M 58 | filename=${DEV} 59 | [rlog] 60 | rw=randwrite 61 | percentage_random=0,44,0 62 | thinktime=${W3THINK} 63 | thinktime_blocks=8 64 | blocksize=1M 65 | filename=${DEV} 66 | size=${SIZE} 67 | [trim_small] 68 | rw=trim 69 | size=10% 70 | thinktime=${W2THINK} 71 | thinktime_blocks=1 72 | blocksize=8M 73 | filename=${DEV} 74 | [trim_med] 75 | startdelay=1s 76 | rw=trim 77 | size=10% 78 | thinktime=${W3THINK} 79 | thinktime_blocks=1 80 | blocksize=64M 81 | filename=${DEV} 82 | [trim_large] 83 | startdelay=720s 84 | rw=trim 85 | size=10% 86 | rate=200m 87 | blocksize=20M 88 | -------------------------------------------------------------------------------- /jobfiles/wildcard_normal.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | loops=10000 7 | invalidate=1 8 | time_based 9 | norandommap 10 | randrepeat=0 11 | runtime=${TIME} 12 | group_reporting=1 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | filename=${DEV} 15 | numjobs=${JOBS} 16 | ramp_time=30s 17 | [read_thread_poo1] 18 | offset=${OFFSET2}m 19 | iodepth=${DEPTH} 20 | rw=randread 21 | percentage_random=84,0,0 22 | bssplit=${BLKSIZE} 23 | rate=${RRATE}m, 24 | size=${SIZE} 25 | [read_thread_poo2] 26 | offset=${OFFSET2}m 27 | iodepth=${DEPTH} 28 | rw=randread 29 | percentage_random=84,0,0 30 | bssplit=${BLKSIZE} 31 | rate=${RRATE}m, 32 | size=${SIZE} 33 | [xfsaild] 34 | rw=randwrite 35 | percentage_random=0,55,0 36 | thinktime=30000000 37 | thinktime_blocks=50 38 | numjobs=4 39 | iodepth=50 40 | bssplit=4K/50:8K/50 41 | filename=${DEV} 42 | size=${SIZE} 43 | [rocksdb] 44 | rw=randwrite 45 | percentage_random=0,55,0 46 | thinktime=${W1THINK} 47 | thinktime_blocks=1 48 | blocksize=1M 49 | filename=${DEV} 50 | size=${SIZE} 51 | [kworker] 52 | rw=randwrite 53 | percentage_random=0,2,0 54 | thinktime=5000000 55 | thinktime_blocks=15 56 | iodepth=15 57 | blocksize=1M 58 | filename=${DEV} 59 | [rlog] 60 | rw=randwrite 61 | percentage_random=0,44,0 62 | thinktime=${W3THINK} 63 | thinktime_blocks=8 64 | blocksize=1M 65 | filename=${DEV} 66 | size=${SIZE} 67 | [trim_small] 68 | rw=trim 69 | size=10% 70 | thinktime=${W2THINK} 71 | thinktime_blocks=1 72 | blocksize=8M 73 | filename=${DEV} 74 | [trim_med] 75 | startdelay=1s 76 | rw=trim 77 | size=10% 78 | thinktime=${W3THINK} 79 | thinktime_blocks=1 80 | blocksize=64M 81 | filename=${DEV} 82 | -------------------------------------------------------------------------------- /jobfiles/writehammer.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | # Write to 32 different regions of a flash device. 3 | # Each job will write continuously from a 16MB logical 4 | # region of the flash device. 5 | 6 | [global] 7 | bs=${BLKSIZE} 8 | direct=1 9 | rw=write 10 | ioengine=libaio 11 | iodepth=${DEPTH} 12 | loops=1000000000 13 | time_based 14 | runtime=14400s 15 | group_reporting=1 16 | offset=${OFFSET1}m 17 | offset_increment=${INCREMENT}m 18 | numjobs=32 19 | size=16M 20 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 21 | -------------------------------------------------------------------------------- /jobfiles/ws_hxfs_hdd.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=100% 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | ramp_time=${RAMPTIME} 13 | runtime=${TIME} 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | group_reporting=1 16 | 17 | [job0] 18 | rw=randrw 19 | rwmixread=62 20 | percentage_random=64,52, 21 | numjobs=${DEPTH1} 22 | rate=${RATE1} 23 | bssplit=${BLKSIZE} 24 | filename=${DEV} 25 | -------------------------------------------------------------------------------- /jobfiles/ws_hxfs_hdd_heavy.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=100% 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | ramp_time=${RAMPTIME} 13 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 14 | runtime=${TIME} 15 | group_reporting=1 16 | 17 | [job0] 18 | rw=randrw 19 | rwmixread=90 20 | percentage_random=20,47, 21 | numjobs=${DEPTH1} 22 | rate=${RATE1} 23 | bssplit=${BLKSIZE} 24 | filename=${DEV} 25 | -------------------------------------------------------------------------------- /jobfiles/ws_hxfs_ssd.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 12 | runtime=${TIME} 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [job0] 17 | numjobs=2 18 | iodepth=24 19 | rw=randwrite 20 | bssplit=,4k/54:8k/46, 21 | thinktime=30s 22 | thinktime_blocks=${W1THINK} 23 | 24 | [job1] 25 | numjobs=3 26 | iodepth=1 27 | rw=randread 28 | bssplit=4k/30:8k/70,, 29 | rate=${RATE1} 30 | 31 | [job2] 32 | numjobs=12 33 | iodepth=121 34 | rw=randwrite 35 | bssplit=,4k/57:8k/43, 36 | thinktime=30s 37 | thinktime_blocks=${W2THINK} 38 | 39 | [job3] 40 | numjobs=27 41 | iodepth=1 42 | rw=randwrite 43 | percentage_random=,98, 44 | bssplit=,4k/27:8k/62:16k/11, 45 | rate=${RATE2} 46 | -------------------------------------------------------------------------------- /jobfiles/ws_xfs_hdd.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | size=100% 7 | loops=10000 8 | invalidate=1 9 | time_based 10 | norandommap 11 | randrepeat=0 12 | ramp_time=${RAMPTIME} 13 | runtime=${TIME} 14 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 15 | group_reporting=1 16 | filename=${DEV} 17 | 18 | [job1] 19 | numjobs=20 20 | iodepth=10 21 | rw=randrw 22 | rwmixread=69 23 | percentage_random=44,18, 24 | bssplit=4k/8:8k/7:16k/2:32k/2:64k/15:128k/3:256k/6:512k/57,4k/2:8k/6:16k/1:32k/2:64k/4:128k/1:256k/2:512k/82 25 | rate=610k,360k 26 | 27 | [job2] 28 | numjobs=1 29 | iodepth=70 30 | rw=randwrite 31 | bssplit=,4k/63:8k/34:16k/3 32 | rate_iops=15 33 | 34 | [job3] 35 | numjobs=8 36 | iodepth=40 37 | rw=randwrite 38 | bssplit=4k/55:8k/40:16k/5 39 | rate=10k 40 | -------------------------------------------------------------------------------- /jobfiles/wscache_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [navy_reader] 17 | rate=${RRATE}k 18 | numjobs=48 19 | iodepth=${DEPTH} 20 | rw=randread 21 | percentage_random=99,0 22 | bssplit=128K/97:256K/3 23 | offset=0% 24 | offset_align=4K 25 | size=${SIZE} 26 | 27 | [navy_writer] 28 | numjobs=32 29 | iodepth=7 30 | offset=0% 31 | size=${SIZE} 32 | rw=randwrite 33 | percentage_random=0,45 34 | bssplit=128K/97:256K/3 35 | thinktime=${W1THINK} 36 | thinktime_blocks=58 37 | 38 | [trimmer] 39 | numjobs=1 40 | iodepth=1 41 | offset=71% 42 | size=28% 43 | rw=trim 44 | bssplit=8M/100 45 | thinktime=${W2THINK} 46 | thinktime_blocks=1 47 | -------------------------------------------------------------------------------- /jobfiles/wsf-laser-ro_2H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [poll_alow] 17 | rate=${RRATE}m 18 | numjobs=4 19 | iodepth=${DEPTH} 20 | iodepth_batch=32 21 | rw=randread 22 | percentage_random=100,0 23 | bssplit=4K/48:8K/51:16K/1 24 | offset=0% 25 | offset_align=4K 26 | offset_increment=25% 27 | size=${SIZE} 28 | 29 | [IO_mnt] 30 | rate=120k 31 | numjobs=6 32 | iodepth=32 33 | iodepth_batch=32 34 | rw=randread 35 | percentage_random=55,0 36 | bssplit=4K/1:64K/3:128K/1:256K/75:1M/20 37 | offset=0% 38 | offset_align=4K 39 | offset_increment=16% 40 | size=3% 41 | -------------------------------------------------------------------------------- /jobfiles/wsf-t.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [poll_alow] 17 | rate=${RRATE}m 18 | numjobs=4 19 | iodepth=5 20 | rw=randread 21 | percentage_random=97,0 22 | bssplit=8K/17:16K/37:32K/39:64K/4:128K/3 23 | offset=0% 24 | offset_align=4K 25 | offset_increment=25% 26 | 27 | [IO_mnt_0] 28 | numjobs=4 29 | iodepth=10 30 | offset=0% 31 | offset_increment=25% 32 | rw=randwrite 33 | percentage_random=0,94 34 | bssplit=64K/10:256K/80:1M/10 35 | thinktime=${W1THINK} 36 | thinktime_blocks=10 37 | 38 | [xfsaid_kworker_0] 39 | numjobs=4 40 | iodepth=110 41 | offset=0% 42 | offset_increment=25% 43 | rw=randwrite 44 | percentage_random=0,99 45 | bssplit=4k/50:8k/50 46 | thinktime=${W2THINK} 47 | thinktime_blocks=110 48 | 49 | [trims_0] 50 | numjobs=4 51 | iodepth=8 52 | offset=0% 53 | offset_increment=8% 54 | size=2% 55 | rw=trim 56 | bssplit=4k/50:8M/50 57 | thinktime=${W3THINK} 58 | thinktime_blocks=16 59 | -------------------------------------------------------------------------------- /jobfiles/wsf-tl.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [poll_alow] 17 | rate=${RRATE}m 18 | numjobs=4 19 | iodepth=5 20 | rw=randread 21 | percentage_random=97,0 22 | bssplit=4K/48:8K/43:16K/7:32K/1:64K/1 23 | offset=0% 24 | offset_align=4K 25 | offset_increment=25% 26 | 27 | [IO_mnt_0] 28 | numjobs=4 29 | iodepth=10 30 | offset=0% 31 | offset_increment=25% 32 | rw=randwrite 33 | percentage_random=0,94 34 | bssplit=64K/10:256K/70:1024K/20 35 | thinktime=${W1THINK} 36 | thinktime_blocks=10 37 | 38 | [xfsaid_kworker_0] 39 | numjobs=4 40 | iodepth=820 41 | offset=0% 42 | offset_increment=25% 43 | rw=randwrite 44 | percentage_random=0,99 45 | bssplit=4K/100 46 | thinktime=${W2THINK} 47 | thinktime_blocks=820 48 | 49 | [trims_0] 50 | numjobs=4 51 | iodepth=8 52 | offset=0% 53 | offset_increment=8% 54 | size=2% 55 | rw=trim 56 | bssplit=4M/50:8M/50 57 | thinktime=${W3THINK} 58 | thinktime_blocks=20 59 | -------------------------------------------------------------------------------- /jobfiles/wsf-tl_1H22.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [poll_alow] 17 | rate=${RRATE}m 18 | numjobs=6 19 | iodepth=${DEPTH} 20 | rw=randread 21 | percentage_random=99,0 22 | bssplit=4K/33:8K/38:16K/26:32K/1:64K/1:256K/1 23 | # mean=12.04K 24 | offset=0% 25 | offset_align=4K 26 | offset_increment=16% 27 | size=16% 28 | 29 | [IO_mnt_0] 30 | numjobs=6 31 | iodepth=20 32 | offset=0% 33 | offset_increment=16% 34 | size=16% 35 | rw=randwrite 36 | percentage_random=0,30 37 | bssplit=4K/2:8K/1:16K/3:32K/2:64K/2:128K/2:256K/70:1M/18 38 | # mean=368.6K 39 | thinktime=${W1THINK} 40 | thinktime_blocks=20 41 | 42 | [iou_wrk_0] 43 | numjobs=6 44 | iodepth=4 45 | offset=0% 46 | offset_increment=16% 47 | size=16% 48 | rw=randwrite 49 | percentage_random=0,99 50 | bssplit=32K/100 51 | thinktime=${W2THINK} 52 | thinktime_blocks=4 53 | 54 | [trims_0] 55 | rate=80m 56 | numjobs=6 57 | iodepth=1 58 | offset=0% 59 | offset_increment=16% 60 | size=16% 61 | rw=trim 62 | bssplit=4K/43:8K/2:16K/3:32K/3:128K/1:512K/2:1M/2:2M/4:4M/9:8M/31 63 | # mean=3025K 64 | thinktime=${W3THINK} 65 | thinktime_blocks=27 66 | -------------------------------------------------------------------------------- /jobfiles/wsf-tl_2H21.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | direct=1 4 | ioengine=libaio 5 | random_generator=tausworthe64 6 | invalidate=1 7 | time_based 8 | norandommap 9 | randrepeat=0 10 | ramp_time=${RAMPTIME} 11 | runtime=${TIME} 12 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 13 | group_reporting=1 14 | filename=${DEV} 15 | 16 | [poll_alow] 17 | rate=${RRATE}m 18 | numjobs=4 19 | iodepth=${DEPTH} 20 | rw=randread 21 | percentage_random=97,0 22 | bssplit=4K/48:8K/43:16K/7:32K/1:64K/1 23 | offset=0% 24 | offset_align=4K 25 | offset_increment=25% 26 | 27 | [IO_mnt_0] 28 | numjobs=4 29 | iodepth=10 30 | offset=0% 31 | offset_increment=25% 32 | rw=randwrite 33 | percentage_random=0,94 34 | bssplit=64K/10:256K/70:1024K/20 35 | thinktime=${W1THINK} 36 | thinktime_blocks=10 37 | 38 | [xfsaid_kworker_0] 39 | numjobs=4 40 | iodepth=820 41 | offset=0% 42 | offset_increment=25% 43 | rw=randwrite 44 | percentage_random=0,99 45 | bssplit=4K/100 46 | thinktime=${W2THINK} 47 | thinktime_blocks=820 48 | 49 | [trims_0] 50 | numjobs=4 51 | iodepth=8 52 | offset=0% 53 | offset_increment=8% 54 | size=2% 55 | rw=trim 56 | bssplit=4M/50:8M/50 57 | thinktime=${W3THINK} 58 | thinktime_blocks=20 59 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017-present, Facebook, Inc. 2 | # All rights reserved. 3 | 4 | [nosetests] 5 | detailed-errors = 1 6 | logging-clear-handlers = 1 7 | verbosity = 1 8 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # Copyright (c) Facebook, Inc. and its affiliates. 3 | 4 | import codecs 5 | import glob 6 | import os 7 | 8 | from setuptools import find_packages, setup 9 | 10 | here = os.path.abspath(os.path.dirname(__file__)) 11 | 12 | with codecs.open(os.path.join(here, "README.md"), encoding="utf-8") as f: 13 | long_description = f.read() 14 | 15 | 16 | def get_data_files(): 17 | # To install data files here will require root privileges 18 | base_dir = "/usr/local/fb-FioSynthFlash" 19 | data_files = [ 20 | (base_dir, ["CODE_OF_CONDUCT.md"]), 21 | (base_dir, ["CONTRIBUTING.md"]), 22 | (base_dir, ["LICENSE"]), 23 | (base_dir, ["README.md"]), 24 | (base_dir, ["README-READHAMMER.txt"]), 25 | (base_dir, ["Release_Notes.txt"]), 26 | (os.path.join(base_dir, "jobfiles"), glob.glob("jobfiles/*")), 27 | (os.path.join(base_dir, "wkldsuites"), glob.glob("wkldsuites/*")), 28 | (os.path.join(base_dir, "fiosynth_lib"), glob.glob("fiosynth_lib/*")), 29 | ] 30 | return data_files 31 | 32 | 33 | setup( 34 | name="fiosynth", 35 | version="3.6.0", 36 | description="FB fio Synthetic Benchmark Suite", 37 | long_description=long_description, 38 | author="Darryl Gardner", 39 | author_email="darryleg@fb.com", 40 | packages=find_packages(exclude=["jobfiles", "wkldsuites", "tests"]), 41 | data_files=get_data_files(), 42 | license="MIT", 43 | scripts=["fiosynth.py"], 44 | entry_points={ 45 | "console_scripts": [ 46 | "fiosynth=fiosynth_lib.fiosynth:main", 47 | "FioFlashJsonParser=fiosynth_lib.fio_json_parser:cli_main", 48 | "GetFlashConfig=fiosynth_lib.flash_config:main", 49 | "healthTools=fiosynth_lib.health_tools:main", 50 | ], 51 | }, 52 | classifiers=[ 53 | "Development Status :: 3 - Alpha", 54 | "Intended Audience :: Developers", 55 | "Programming Language :: Python :: 2.7", 56 | "Programming Language :: Python :: 3", 57 | ], 58 | keywords="benchmark fio performance storage", 59 | ) 60 | -------------------------------------------------------------------------------- /smartAll.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Copyright (c) Facebook, Inc. and its affiliates. 3 | 4 | for i in $(sg_map -i -x | grep ATA | awk "{print $7}") 5 | do 6 | smartctl -x "$i" 7 | done 8 | -------------------------------------------------------------------------------- /test-requirements.txt: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017-present, Facebook, Inc. 2 | # All rights reserved. 3 | 4 | nose>=1.3 5 | flake8>=2.1.0 6 | -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | -------------------------------------------------------------------------------- /tests/sample_fio_results/sample-2017-11-21_16-40.csv: -------------------------------------------------------------------------------- 1 | Jobname,Read_IOPS,Read_BW,Write_IOPS,Write_BW,Mean_Read_Latency,Max_Read_Latency,P25_Read_Latency,P50_Read_Latency,P70_Read_Latency,P75_Read_Latency,P90_Read_Latency,P99_Read_Latency,P99.9_Read_Latency,P99.99_Read_Latency,P99.999_Read_Latency,P99.9999_Read_Latency,Mean_Write_Latency,Max_Write_Latency,P25_Write_Latency,P50_Write_Latency,P70_Write_Latency,P75_Write_Latency,P90_Write_Latency,P99_Write_Latency,P99.9_Write_Latency,P99.99_Write_Latency,P99.999_Write_Latency,P99.9999_Write_Latency,Trim_IOPS,Trim_BW,Mean_Trim_Latency,Max_Trim_Latency,P25_Trim_Latency,P50_Trim_Latency,P70_Trim_Latency,P75_Trim_Latency,P90_Trim_Latency,P99_Trim_Latency,P99.9_Trim_Latency,P99.99_Trim_Latency,P99.999_Trim_Latency,P99.9999_Trim_Latency 2 | sample_1_run1,9.431456,151,0.0,0,15739.230283216999,124553.1,10420.224,12910.592,15269.888,16056.32,20316.16,110624.768,124256.256,124256.256,124256.256,124256.256,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 3 | sample_2_run1,9.433336,151,0.0,0,13968.853762237999,85202.762,9895.936,12910.592,15007.744,15925.248,19791.872,61079.552,85458.944,85458.944,85458.944,85458.944,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 4 | -------------------------------------------------------------------------------- /tests/test_fio_json_parser.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | import os 4 | import shutil 5 | import tempfile 6 | import unittest 7 | 8 | from fiosynth_lib import fio_json_parser 9 | 10 | FIO_SAMPLES_DIR = "sample_fio_results" 11 | FIO_SAMPLE_CSV = "sample-2017-11-21_16-40.csv" 12 | 13 | 14 | class TestFioJsonParser(unittest.TestCase): 15 | def setUp(self): 16 | current_dir = os.path.dirname(os.path.abspath(__file__)) 17 | samples_dirpath = os.path.join(current_dir, FIO_SAMPLES_DIR) 18 | self.fio_json_files = fio_json_parser.get_json_files(samples_dirpath) 19 | self.tmp_dir = tempfile.mkdtemp() # Create temporary directory for csv 20 | self.expected_csv_output = "" 21 | expected_csv_path = os.path.join(samples_dirpath, FIO_SAMPLE_CSV) 22 | with open(expected_csv_path) as csv_output: 23 | self.expected_csv_output = csv_output.read().splitlines() 24 | 25 | def tearDown(self): 26 | # Clean up temporary directory 27 | if self.tmp_dir: 28 | shutil.rmtree(self.tmp_dir) 29 | 30 | def _assert_csv_format(self, csv_filepath): 31 | with open(csv_filepath) as csv_out: 32 | actual_csv_lines = csv_out.read().splitlines() 33 | for a, e in zip(actual_csv_lines, self.expected_csv_output): 34 | self.assertEqual(a, e) 35 | 36 | def test_write_csv_file_many_json_files(self): 37 | csv_filepath = os.path.join(self.tmp_dir, "multiple_test.csv") 38 | fio_json_parser.write_csv_file(csv_filepath, self.fio_json_files) 39 | self._assert_csv_format(csv_filepath) 40 | 41 | def test_write_csv_file_append_exisiting(self): 42 | csv_filepath = os.path.join(self.tmp_dir, "append_test.csv") 43 | for json_file in self.fio_json_files: 44 | fio_json_parser.write_csv_file(csv_filepath, [json_file]) 45 | self._assert_csv_format(csv_filepath) 46 | 47 | 48 | if __name__ == "__main__": 49 | unittest.main() 50 | -------------------------------------------------------------------------------- /tmp.fio: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | [global] 3 | rw=write 4 | blocksize=${BLKSIZE} 5 | blockalign=${BLKSIZE} 6 | size=${SIZE} 7 | ioengine=libaio 8 | iodepth=${DEPTH} 9 | direct=1 10 | loops=10000 11 | invalidate=1 12 | time_based 13 | ramp_time=30s 14 | norandommap 15 | randrepeat=0 16 | runtime=${TIME} 17 | group_reporting=1 18 | numjobs=4 19 | percentile_list=1:5:10:20:25:30:40:50:60:70:75:80:90:95:99:99.9:99.95:99.99:99.999:99.9999 20 | [/dev/vda2] 21 | filename=/dev/vda2 22 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017-present, Facebook, Inc. 2 | # All rights reserved. 3 | 4 | [tox] 5 | skipsdist = True 6 | envlist = py{27,34,35,36}, flake8 7 | setenv = VIRTUAL_ENV={envdir} 8 | HOME={homedir} 9 | LANG=en_US.UTF-8 10 | LANGUAGE=en_US:en 11 | LC_ALL=C 12 | PYTHONHASHSEED=0 13 | TOX_ENV_NAME={envname} 14 | whitelist_externals = find 15 | distribute = false 16 | commands = find . -type f -name "*.pyc" -delete 17 | passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY 18 | deps = -r{toxinidir}/test-requirements.txt 19 | install_command = pip install -U {opts} {packages} 20 | usedevelop = True 21 | 22 | [testenv] 23 | basepython = 24 | py27: python2.7 25 | py34: python3.4 26 | py35: python3.5 27 | py36: python3.6 28 | deps = -r{toxinidir}/test-requirements.txt 29 | commands = nosetests {toxinidir}/tests [] 30 | 31 | [testenv:venv] 32 | commands = {posargs} 33 | 34 | [testenv:flake8] 35 | basepython = python2.7 36 | deps = flake8 37 | commands = flake8 . 38 | 39 | [flake8] 40 | show-source = true 41 | exclude = .venv,.git,.tox,dist,*egg,build,setup.py,jobfiles,wkldsuites 42 | -------------------------------------------------------------------------------- /wkldsuites/Boot_SSD: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "192K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"twshared.fio", 20 | "alias":"Boot_SSD_precondition", 21 | "values" : { 22 | "TIME" : "3480", 23 | "RAMPTIME": "120", 24 | "RATE1": "0", 25 | "W1THINK" : 30000 26 | } 27 | } 28 | ], 29 | "def":[ 30 | { 31 | "template":"twshared.fio", 32 | "alias":"Boot_SSD_twshared", 33 | "values" : { 34 | "TIME" : "1200", 35 | "RAMPTIME": "120", 36 | "RATE1": "140k,3m", 37 | "W1THINK" : 30000 38 | } 39 | }, 40 | { 41 | "template":"twfeed.fio", 42 | "alias":"Boot_SSD_twfeed", 43 | "values" : { 44 | "TIME" : "1200", 45 | "RAMPTIME": "120", 46 | "W1THINK" : 30000 47 | } 48 | }, 49 | { 50 | "template":"rsw_burst.fio", 51 | "alias":"Boot_SSD_wedge", 52 | "values" : { 53 | "TIME" : "1200", 54 | "RAMPTIME": "120", 55 | "W1THINK" : 30000 56 | } 57 | }, 58 | { 59 | "template":"ws_hxfs_ssd.fio", 60 | "alias":"Boot_SSD_hxfs", 61 | "values" : { 62 | "TIME" : "1200", 63 | "RAMPTIME": "120", 64 | "RATE1" : "110k", 65 | "RATE2" : "6k", 66 | "W1THINK" : 1250, 67 | "W2THINK" : 250 68 | } 69 | } 70 | ], 71 | "run_cycles": 1, 72 | "precondition_cycles": 1, 73 | "devices_in_global": "Y", 74 | "scale_by_capacity": "N" 75 | } 76 | -------------------------------------------------------------------------------- /wkldsuites/BurstTrim: -------------------------------------------------------------------------------- 1 | { 2 | "def": [ 3 | { 4 | "template": "bursttrim.fio", 5 | "alias": "BurstTrim", 6 | "values": { 7 | "TIME": "1200", 8 | "RRATE": 50000, 9 | "SIZE": "90%", 10 | "BLKSIZE": "4k/25:16k/25:64k/25:256k/25", 11 | "DEPTH": 1200, 12 | "W4THINK": 500000 13 | } 14 | } 15 | ], 16 | "run_cycles": 1, 17 | "precondition_cycles": 0, 18 | "devices_in_global": "Y", 19 | "scale_by_capacity": "Y" 20 | } 21 | -------------------------------------------------------------------------------- /wkldsuites/Cache: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"bcache.fio", 5 | "alias":"bcache_precondition1", 6 | "values" : { 7 | "TIME" : "36000", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 10, 10 | "RRATE" : 290, 11 | "SIZE" : "90%", 12 | "W1THINK" : 1200000, 13 | "W2THINK" : 3200, 14 | "W3THINK" : 50000, 15 | "W4THINK" : 270000, 16 | "MISC" : "512K", 17 | "OFFSET2" : 100000 18 | } 19 | }, 20 | { 21 | "template":"bcache.fio", 22 | "alias":"bcache_precondition2", 23 | "values" : { 24 | "TIME" : "1200", 25 | "BLKSIZE" : "4K", 26 | "DEPTH" : 13, 27 | "RRATE" : 290, 28 | "SIZE" : "90%", 29 | "W1THINK" : 19200000, 30 | "W2THINK" : 512000, 31 | "W3THINK" : 8000000, 32 | "W4THINK" : 43200000, 33 | "MISC" : "512K", 34 | "OFFSET2" : 100000 35 | } 36 | } 37 | ], 38 | "def":[ 39 | { 40 | "template":"bcache.fio", 41 | "alias":"B_Cache", 42 | "values" : { 43 | "TIME" : "1200", 44 | "BLKSIZE" : "4K", 45 | "DEPTH" : 13, 46 | "RRATE" : 290, 47 | "SIZE" : "90%", 48 | "W1THINK" : 19200000, 49 | "W2THINK" : 512000, 50 | "W3THINK" : 8000000, 51 | "W4THINK" : 43200000, 52 | "MISC" : "512K", 53 | "OFFSET2" : 100000 54 | } 55 | } 56 | ], 57 | "run_cycles": 3, 58 | "precondition_cycles": 1, 59 | "precondition_first_cycle_only": "Y", 60 | "devices_in_global": "Y", 61 | "scale_by_capacity": "Y" 62 | } 63 | -------------------------------------------------------------------------------- /wkldsuites/Cache_1H22: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"bcache_1H22.fio", 5 | "alias":"bcache_precondition1", 6 | "values" : { 7 | "TIME" : "36000", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 10, 10 | "RRATE" : 290, 11 | "SIZE" : "90%", 12 | "W1THINK" : 1200000, 13 | "W2THINK" : 3200, 14 | "W3THINK" : 50000, 15 | "W4THINK" : 270000, 16 | "MISC" : "512K", 17 | "OFFSET2" : 100000 18 | } 19 | }, 20 | { 21 | "template":"bcache_1H22.fio", 22 | "alias":"bcache_precondition2", 23 | "values" : { 24 | "TIME" : "1200", 25 | "BLKSIZE" : "4K", 26 | "DEPTH" : 13, 27 | "RRATE" : 290, 28 | "SIZE" : "90%", 29 | "W1THINK" : 19200000, 30 | "W2THINK" : 512000, 31 | "W3THINK" : 8000000, 32 | "W4THINK" : 43200000, 33 | "MISC" : "512K", 34 | "OFFSET2" : 100000 35 | } 36 | } 37 | ], 38 | "def":[ 39 | { 40 | "template":"bcache_1H22.fio", 41 | "alias":"B_Cache", 42 | "values" : { 43 | "TIME" : "1200", 44 | "BLKSIZE" : "4K", 45 | "DEPTH" : 13, 46 | "RRATE" : 290, 47 | "SIZE" : "90%", 48 | "W1THINK" : 19200000, 49 | "W2THINK" : 512000, 50 | "W3THINK" : 8000000, 51 | "W4THINK" : 43200000, 52 | "MISC" : "512K", 53 | "OFFSET2" : 100000 54 | }, 55 | "targets" : { 56 | "throughput" : { 57 | "read" : { 58 | "MIN" : 164 59 | }, 60 | "write" : { 61 | "MIN" : 96 62 | }, 63 | "trim" : { 64 | "MIN" : 0 65 | }, 66 | "scale_by_TB" : { 67 | "value" : true 68 | } 69 | }, 70 | "latency" : { 71 | "read" : { 72 | "P99" : 1000, 73 | "P99.99" : 2000, 74 | "P99.9999" : 15000, 75 | "MAX" : 20000 76 | }, 77 | "write" : { 78 | "P99.99" : 15000, 79 | "P99.9999" : 20000, 80 | "MAX" : 30000 81 | } 82 | } 83 | } 84 | } 85 | ], 86 | "run_cycles": 3, 87 | "precondition_cycles": 1, 88 | "precondition_first_cycle_only": "Y", 89 | "devices_in_global": "Y", 90 | "scale_by_capacity": "Y" 91 | } 92 | -------------------------------------------------------------------------------- /wkldsuites/Cache_2H20: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"bcache.fio", 5 | "alias":"bcache_precondition1", 6 | "values" : { 7 | "TIME" : "36000", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 10, 10 | "RRATE" : 290, 11 | "SIZE" : "90%", 12 | "W1THINK" : 1200000, 13 | "W2THINK" : 3200, 14 | "W3THINK" : 50000, 15 | "W4THINK" : 270000, 16 | "MISC" : "512K", 17 | "OFFSET2" : 100000 18 | } 19 | }, 20 | { 21 | "template":"bcache.fio", 22 | "alias":"bcache_precondition2", 23 | "values" : { 24 | "TIME" : "1200", 25 | "BLKSIZE" : "4K", 26 | "DEPTH" : 13, 27 | "RRATE" : 290, 28 | "SIZE" : "90%", 29 | "W1THINK" : 19200000, 30 | "W2THINK" : 512000, 31 | "W3THINK" : 8000000, 32 | "W4THINK" : 43200000, 33 | "MISC" : "512K", 34 | "OFFSET2" : 100000 35 | } 36 | } 37 | ], 38 | "def":[ 39 | { 40 | "template":"bcache.fio", 41 | "alias":"B_Cache", 42 | "values" : { 43 | "TIME" : "1200", 44 | "BLKSIZE" : "4K", 45 | "DEPTH" : 13, 46 | "RRATE" : 290, 47 | "SIZE" : "90%", 48 | "W1THINK" : 19200000, 49 | "W2THINK" : 512000, 50 | "W3THINK" : 8000000, 51 | "W4THINK" : 43200000, 52 | "MISC" : "512K", 53 | "OFFSET2" : 100000 54 | }, 55 | "targets" : { 56 | "throughput" : { 57 | "read" : { 58 | "MIN" : 164 59 | }, 60 | "write" : { 61 | "MIN" : 96 62 | }, 63 | "trim" : { 64 | "MIN" : 0 65 | }, 66 | "scale_by_TB" : { 67 | "value" : true 68 | } 69 | }, 70 | "latency" : { 71 | "read" : { 72 | "P99" : 2000, 73 | "P99.99" : 5500, 74 | "P99.99999" : 15000, 75 | "MAX" : 20000 76 | }, 77 | "write" : { 78 | "P99.99" : 20000, 79 | "P99.9999" : 25000, 80 | "MAX" : 30000 81 | } 82 | } 83 | } 84 | } 85 | ], 86 | "run_cycles": 3, 87 | "precondition_cycles": 1, 88 | "precondition_first_cycle_only": "Y", 89 | "devices_in_global": "Y", 90 | "scale_by_capacity": "Y" 91 | } 92 | -------------------------------------------------------------------------------- /wkldsuites/HE_Flash_Short: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"TypeVI.fio", 20 | "alias":"T6_precondition", 21 | "values" : { 22 | "TIME" : "3600", 23 | "BLKSIZE" : "4K", 24 | "DEPTH" : 10, 25 | "RRATE" : 3500, 26 | "SIZE" : "100%", 27 | "W1THINK" : 12800, 28 | "W2THINK" : 25600, 29 | "W3THINK" : 0, 30 | "W4THINK" : 0 31 | } 32 | } 33 | ], 34 | "def":[ 35 | { 36 | "template":"TypeVI.fio", 37 | "alias":"4K_L2R1DWPD", 38 | "values" : { 39 | "TIME" : "1200", 40 | "BLKSIZE" : "4K", 41 | "DEPTH" : 10, 42 | "RRATE" : 7000, 43 | "SIZE" : "100%", 44 | "W1THINK" : 7680000, 45 | "W2THINK" : 15360000, 46 | "W3THINK" : 0, 47 | "W4THINK" : 0 48 | } 49 | }, 50 | { 51 | "template":"TypeVI.fio", 52 | "alias":"4K_H2R1DWPD", 53 | "values" : { 54 | "TIME" : "1200", 55 | "BLKSIZE" : "4K", 56 | "DEPTH" : 20, 57 | "RRATE" : 60000, 58 | "SIZE" : "100%", 59 | "W1THINK" : 7680000, 60 | "W2THINK" : 15360000, 61 | "W3THINK" : 0, 62 | "W4THINK" : 0 63 | } 64 | }, 65 | { 66 | "template":"TypeVI.fio", 67 | "alias":"4K_L2R3DWPD", 68 | "values" : { 69 | "TIME" : "1200", 70 | "BLKSIZE" : "4K", 71 | "DEPTH" : 10, 72 | "RRATE" : 7000, 73 | "SIZE" : "100%", 74 | "W1THINK" : 2560000, 75 | "W2THINK" : 5120000, 76 | "W3THINK" : 0, 77 | "W4THINK" : 0 78 | } 79 | }, 80 | { 81 | "template":"TypeVI.fio", 82 | "alias":"4K_L2R6DWPD", 83 | "values" : { 84 | "TIME" : "1200", 85 | "BLKSIZE" : "4K", 86 | "DEPTH" : 10, 87 | "RRATE" : 7000, 88 | "SIZE" : "100%", 89 | "W1THINK" : 1280000, 90 | "W2THINK" : 2560000, 91 | "W3THINK" : 0, 92 | "W4THINK" : 0 93 | } 94 | } 95 | ], 96 | "run_cycles": 1, 97 | "precondition_cycles": 1, 98 | "devices_in_global": "Y", 99 | "scale_by_capacity": "Y" 100 | } 101 | -------------------------------------------------------------------------------- /wkldsuites/HE_Flash_Short_90: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"TypeVI90.fio", 5 | "alias":"T6_precondition1", 6 | "values" : { 7 | "TIME" : "36000", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 10, 10 | "RRATE" : 3500, 11 | "SIZE" : "90%", 12 | "W1THINK" : 12800, 13 | "W2THINK" : 25600, 14 | "W3THINK" : 12800000, 15 | "W4THINK" : 30000000 16 | } 17 | }, 18 | { 19 | "template":"TypeVI90_precon.fio", 20 | "alias":"T6_precondition2", 21 | "values" : { 22 | "TIME" : "600", 23 | "BLKSIZE" : "4K", 24 | "DEPTH" : 10, 25 | "RRATE" : 3500, 26 | "SIZE" : "90%", 27 | "W1THINK" : 12800, 28 | "W2THINK" : 25600, 29 | "W3THINK" : 12800000, 30 | "W4THINK" : 30000000 31 | } 32 | } 33 | ], 34 | "def":[ 35 | { 36 | "template":"TypeVI90.fio", 37 | "alias":"4K_L2R1DWPD", 38 | "values" : { 39 | "TIME" : "1200", 40 | "BLKSIZE" : "4K", 41 | "DEPTH" : 10, 42 | "RRATE" : 7000, 43 | "SIZE" : "90%", 44 | "W1THINK" : 7680000, 45 | "W2THINK" : 15360000, 46 | "W3THINK" : 76800000, 47 | "W4THINK" : 180000000 48 | } 49 | }, 50 | { 51 | "template":"TypeVI90.fio", 52 | "alias":"4K_H2R1DWPD", 53 | "values" : { 54 | "TIME" : "1200", 55 | "BLKSIZE" : "4K", 56 | "DEPTH" : 20, 57 | "RRATE" : 60000, 58 | "SIZE" : "90%", 59 | "W1THINK" : 7680000, 60 | "W2THINK" : 15360000, 61 | "W3THINK" : 76800000, 62 | "W4THINK" : 180000000 63 | } 64 | }, 65 | { 66 | "template":"TypeVI90.fio", 67 | "alias":"4K_L2R3DWPD", 68 | "values" : { 69 | "TIME" : "1200", 70 | "BLKSIZE" : "4K", 71 | "DEPTH" : 10, 72 | "RRATE" : 7000, 73 | "SIZE" : "90%", 74 | "W1THINK" : 2560000, 75 | "W2THINK" : 5120000, 76 | "W3THINK" : 25600000, 77 | "W4THINK" : 60000000 78 | } 79 | }, 80 | { 81 | "template":"TypeVI90.fio", 82 | "alias":"4K_L2R6DWPD", 83 | "values" : { 84 | "TIME" : "1200", 85 | "BLKSIZE" : "4K", 86 | "DEPTH" : 10, 87 | "RRATE" : 7000, 88 | "SIZE" : "90%", 89 | "W1THINK" : 1280000, 90 | "W2THINK" : 2560000, 91 | "W3THINK" : 12800000, 92 | "W4THINK" : 30000000 93 | } 94 | } 95 | ], 96 | "run_cycles": 1, 97 | "precondition_cycles": 1, 98 | "devices_in_global": "Y", 99 | "scale_by_capacity": "Y" 100 | } 101 | -------------------------------------------------------------------------------- /wkldsuites/HE_Flash_Short_wTRIM_RAM: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"trimrate.fio", 20 | "alias":"100MTRIM", 21 | "values" : { 22 | "BLKSIZE" : "100m", 23 | "DEPTH" : 1, 24 | "RRATE" : 1 25 | } 26 | } 27 | ], 28 | "def":[ 29 | { 30 | "template":"DRAMwTRIM.fio", 31 | "alias":"4K_L2R1DWPD", 32 | "values" : { 33 | "TIME" : "1200", 34 | "BLKSIZE" : "4K", 35 | "DEPTH" : 10, 36 | "RRATE" : 7000, 37 | "SIZE" : "90%", 38 | "W1THINK" : 7680000, 39 | "W2THINK" : 15360000, 40 | "W3THINK" : 76800000, 41 | "W4THINK" : 180000000 42 | } 43 | }, 44 | { 45 | "template":"DRAMwTRIM.fio", 46 | "alias":"4K_H2R1DWPD", 47 | "values" : { 48 | "TIME" : "1200", 49 | "BLKSIZE" : "4K", 50 | "DEPTH" : 20, 51 | "RRATE" : 60000, 52 | "SIZE" : "90%", 53 | "W1THINK" : 7680000, 54 | "W2THINK" : 15360000, 55 | "W3THINK" : 76800000, 56 | "W4THINK" : 180000000 57 | } 58 | }, 59 | { 60 | "template":"DRAMwTRIM.fio", 61 | "alias":"4K_L2R3DWPD", 62 | "values" : { 63 | "TIME" : "1200", 64 | "BLKSIZE" : "4K", 65 | "DEPTH" : 10, 66 | "RRATE" : 7000, 67 | "SIZE" : "90%", 68 | "W1THINK" : 2560000, 69 | "W2THINK" : 5120000, 70 | "W3THINK" : 25600000, 71 | "W4THINK" : 60000000 72 | } 73 | }, 74 | { 75 | "template":"DRAMwTRIM.fio", 76 | "alias":"4K_L2R6DWPD", 77 | "values" : { 78 | "TIME" : "1200", 79 | "BLKSIZE" : "4K", 80 | "DEPTH" : 10, 81 | "RRATE" : 7000, 82 | "SIZE" : "90%", 83 | "W1THINK" : 1280000, 84 | "W2THINK" : 2560000, 85 | "W3THINK" : 12800000, 86 | "W4THINK" : 30000000 87 | } 88 | } 89 | ], 90 | "run_cycles": 1, 91 | "precondition_cycles": 1, 92 | "devices_in_global": "Y", 93 | "scale_by_capacity": "Y" 94 | } 95 | -------------------------------------------------------------------------------- /wkldsuites/HE_Flash_Short_wTRIM_SIT: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"TypeVIwTRIM.fio", 5 | "alias":"L2R6DWPD", 6 | "values" : { 7 | "TIME" : "1200", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 10, 10 | "RRATE" : 7000, 11 | "SIZE" : "90%", 12 | "W1THINK" : 1280000, 13 | "W2THINK" : 2560000, 14 | "W3THINK" : 12800000, 15 | "W4THINK" : 30000000 16 | } 17 | } 18 | ], 19 | "run_cycles": 700, 20 | "precondition_cycles": 0, 21 | "devices_in_global": "Y", 22 | "scale_by_capacity": "Y" 23 | } 24 | -------------------------------------------------------------------------------- /wkldsuites/Idyno_Boot: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"idyno.fio", 5 | "alias":"idyno_precondition", 6 | "values" : { 7 | "TIME" : "5400", 8 | "RATE1" : "75", 9 | "RAMPTIME": "120", 10 | "W1THINK" : 10000, 11 | "W2THINK" : 3000000, 12 | "W3THINK" : 300000 13 | } 14 | } 15 | ], 16 | "def":[ 17 | { 18 | "template":"idyno.fio", 19 | "alias":"idyno_boot", 20 | "values" : { 21 | "TIME" : "3600", 22 | "RATE1" : "75", 23 | "RAMPTIME": "120", 24 | "W1THINK" : 1000000, 25 | "W2THINK" : 300000000, 26 | "W3THINK" : 30000000 27 | }, 28 | "targets" : { 29 | "throughput" : { 30 | "read" : { 31 | "MIN" : 75 32 | }, 33 | "write" : { 34 | "MIN" : 15 35 | }, 36 | "trim" : { 37 | "MIN" : 0.1 38 | } 39 | }, 40 | "latency" : { 41 | "read" : { 42 | "P99" : 25000, 43 | "P99.99" : 50000, 44 | "MAX" : 90000 45 | }, 46 | "write" : { 47 | "P99" : 30000, 48 | "P99.99" : 45000, 49 | "MAX" : 60000 50 | } 51 | } 52 | } 53 | } 54 | ], 55 | "run_cycles": 3, 56 | "precondition_cycles": 1, 57 | "precondition_first_cycle_only": "Y", 58 | "devices_in_global": "Y", 59 | "scale_by_capacity": "N" 60 | } 61 | -------------------------------------------------------------------------------- /wkldsuites/LE_Flash_Short: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"TypeVI.fio", 20 | "alias":"T6_precondition", 21 | "values" : { 22 | "TIME" : "3600", 23 | "BLKSIZE" : "4K", 24 | "DEPTH" : 10, 25 | "RRATE" : 3500, 26 | "SIZE" : "100%", 27 | "W1THINK" : 12800, 28 | "W2THINK" : 25600, 29 | "W3THINK" : 0, 30 | "W4THINK" : 0 31 | } 32 | } 33 | ], 34 | "def":[ 35 | { 36 | "template":"TypeVI.fio", 37 | "alias":"4K_L2R.5DWPD", 38 | "values" : { 39 | "TIME" : "1200", 40 | "BLKSIZE" : "4K", 41 | "DEPTH" : 10, 42 | "RRATE" : 7000, 43 | "SIZE" : "100%", 44 | "W1THINK" : 15360000, 45 | "W2THINK" : 30720000, 46 | "W3THINK" : 0, 47 | "W4THINK" : 0 48 | } 49 | }, 50 | { 51 | "template":"TypeVI.fio", 52 | "alias":"4K_M2R.5DWPD", 53 | "values" : { 54 | "TIME" : "1200", 55 | "BLKSIZE" : "4K", 56 | "DEPTH" : 20, 57 | "RRATE" : 20000, 58 | "SIZE" : "100%", 59 | "W1THINK" : 15360000, 60 | "W2THINK" : 30720000, 61 | "W3THINK" : 0, 62 | "W4THINK" : 0 63 | } 64 | }, 65 | { 66 | "template":"TypeVI.fio", 67 | "alias":"4K_L2R1DWPD", 68 | "values" : { 69 | "TIME" : "1200", 70 | "BLKSIZE" : "4K", 71 | "DEPTH" : 10, 72 | "RRATE" : 7000, 73 | "SIZE" : "100%", 74 | "W1THINK" : 7680000, 75 | "W2THINK" : 15360000, 76 | "W3THINK" : 0, 77 | "W4THINK" : 0 78 | } 79 | }, 80 | { 81 | "template":"TypeVI.fio", 82 | "alias":"4K_L2R1.5DWPD", 83 | "values" : { 84 | "TIME" : "1200", 85 | "BLKSIZE" : "4K", 86 | "DEPTH" : 10, 87 | "RRATE" : 7000, 88 | "SIZE" : "100%", 89 | "W1THINK" : 5120000, 90 | "W2THINK" : 10240000, 91 | "W3THINK" : 0, 92 | "W4THINK" : 0 93 | } 94 | } 95 | ], 96 | "run_cycles": 1, 97 | "precondition_cycles": 1, 98 | "devices_in_global": "Y", 99 | "scale_by_capacity": "Y" 100 | } 101 | -------------------------------------------------------------------------------- /wkldsuites/LE_Flash_Short_wTRIM_SIT: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"TypeVIwTRIM.fio", 5 | "alias":"L2R0.5DWPD", 6 | "values" : { 7 | "TIME" : "1200", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 10, 10 | "RRATE" : 7000, 11 | "SIZE" : "90%", 12 | "W1THINK" : 15360000, 13 | "W2THINK" : 30720000, 14 | "W3THINK" : 153600000, 15 | "W4THINK" : 360000000 16 | } 17 | }, 18 | { 19 | "template":"TypeVIwTRIM.fio", 20 | "alias":"M2R.5DWPD", 21 | "values" : { 22 | "TIME" : "1200", 23 | "BLKSIZE" : "4K", 24 | "DEPTH" : 20, 25 | "RRATE" : 20000, 26 | "SIZE" : "90%", 27 | "W1THINK" : 15360000, 28 | "W2THINK" : 30720000, 29 | "W3THINK" : 153600000, 30 | "W4THINK" : 360000000 31 | } 32 | }, 33 | { 34 | "template":"TypeVIwTRIM.fio", 35 | "alias":"L2R1DWPD", 36 | "values" : { 37 | "TIME" : "1200", 38 | "BLKSIZE" : "4K", 39 | "DEPTH" : 10, 40 | "RRATE" : 7000, 41 | "SIZE" : "90%", 42 | "W1THINK" : 7680000, 43 | "W2THINK" : 15360000, 44 | "W3THINK" : 76800000, 45 | "W4THINK" : 180000000 46 | } 47 | }, 48 | { 49 | "template":"TypeVIwTRIM.fio", 50 | "alias":"L2R1.5DWPD", 51 | "values" : { 52 | "TIME" : "1200", 53 | "BLKSIZE" : "4K", 54 | "DEPTH" : 10, 55 | "RRATE" : 7000, 56 | "SIZE" : "90%", 57 | "W1THINK" : 1280000, 58 | "W2THINK" : 2560000, 59 | "W3THINK" : 5120000, 60 | "W4THINK" : 120000000 61 | } 62 | } 63 | ], 64 | "run_cycles": 700, 65 | "precondition_cycles": 0, 66 | "devices_in_global": "Y", 67 | "scale_by_capacity": "Y" 68 | } 69 | -------------------------------------------------------------------------------- /wkldsuites/LE_Flash_Single: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"TypeVI.fio", 5 | "alias":"4K_L2R1.5DWPD", 6 | "values" : { 7 | "TIME" : "1200", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 10, 10 | "RRATE" : 7000, 11 | "SIZE" : "100%", 12 | "W1THINK" : 5120000, 13 | "W2THINK" : 10240000, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | } 18 | ], 19 | "run_cycles": 1, 20 | "precondition_cycles": 0, 21 | "devices_in_global": "Y", 22 | "scale_by_capacity": "Y" 23 | } 24 | -------------------------------------------------------------------------------- /wkldsuites/Messenger_Movement_noTRIM: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"TypeVIII_Messenger_Movement.fio", 5 | "alias":"T8_Messenger_Movement_precond", 6 | "values" : { 7 | "TIME" : "36000", 8 | "BLKSIZE" : "131072/92:8192/3:12288/2:4096/1:262144/1", 9 | "DEPTH" : 20, 10 | "RRATE" : 150, 11 | "SIZE" : "90%", 12 | "W1THINK" : 12800, 13 | "W2THINK" : 25600, 14 | "W3THINK" : 1600, 15 | "W4THINK" : 800000 16 | } 17 | } 18 | ], 19 | "def":[ 20 | { 21 | "template":"TypeVIII_Messenger_Movement.fio", 22 | "alias":"Msg_Migration_LQD", 23 | "values" : { 24 | "TIME" : "1200", 25 | "BLKSIZE" : "131072/92:8192/3:12288/2:4096/1:262144/1", 26 | "DEPTH" : 20, 27 | "RRATE" : 150, 28 | "SIZE" : "90%", 29 | "W1THINK" : 15360000, 30 | "W2THINK" : 30720000, 31 | "W3THINK" : 1300000, 32 | "W4THINK" : 10000000 33 | } 34 | }, 35 | { 36 | "template":"TypeVIII_Messenger_Movement.fio", 37 | "alias":"Msg_Migration_MQD", 38 | "values" : { 39 | "TIME" : "1200", 40 | "BLKSIZE" : "131072/92:8192/3:12288/2:4096/1:262144/1", 41 | "DEPTH" : 50, 42 | "RRATE" : 150, 43 | "SIZE" : "90%", 44 | "W1THINK" : 15360000, 45 | "W2THINK" : 30720000, 46 | "W3THINK" : 1300000, 47 | "W4THINK" : 10000000 48 | } 49 | }, 50 | { 51 | "template":"TypeVIII_Messenger_Movement.fio", 52 | "alias":"Msg_Migration_HQD", 53 | "values" : { 54 | "TIME" : "1200", 55 | "BLKSIZE" : "131072/92:8192/3:12288/2:4096/1:262144/1", 56 | "DEPTH" : 100, 57 | "RRATE" : 150, 58 | "SIZE" : "90%", 59 | "W1THINK" : 15360000, 60 | "W2THINK" : 30720000, 61 | "W3THINK" : 1300000, 62 | "W4THINK" : 10000000 63 | } 64 | } 65 | ], 66 | "run_cycles": 1, 67 | "precondition_cycles": 1, 68 | "devices_in_global": "Y", 69 | "scale_by_capacity": "Y" 70 | } 71 | -------------------------------------------------------------------------------- /wkldsuites/MyRocks: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"MyRocks_noTRIM_2H19.fio", 5 | "alias":"MyRocks_Heavy_noTRIM", 6 | "values" : { 7 | "TIME" : "3600", 8 | "BLKSIZE" : "8192/68:4096/8:16384/12:131072/12", 9 | "DEPTH" : 20, 10 | "RRATE" : 210, 11 | "SIZE" : "90%", 12 | "W1THINK" : 87200, 13 | "W2THINK" : 400000, 14 | "OFFSET2" : 100000 15 | } 16 | }, 17 | { 18 | "template":"MyRocks_wTRIM_2H19.fio", 19 | "alias":"MyRocks_Heavy_wTRIM", 20 | "values" : { 21 | "TIME" : "3600", 22 | "BLKSIZE" : "8192/68:4096/8:16384/12:131072/12", 23 | "DEPTH" : 20, 24 | "RRATE" : 210, 25 | "SIZE" : "90%", 26 | "W1THINK" : 87200, 27 | "W2THINK" : 400000, 28 | "W3THINK" : 144000000, 29 | "W4THINK" : 5280000, 30 | "OFFSET2" : 100000 31 | } 32 | } 33 | ], 34 | "run_cycles": 1, 35 | "precondition_cycles": 0, 36 | "devices_in_global": "Y", 37 | "scale_by_capacity": "Y" 38 | } 39 | -------------------------------------------------------------------------------- /wkldsuites/Nvme_Cli_Wkld: -------------------------------------------------------------------------------- 1 | { 2 | "pre": [], 3 | "def": [ 4 | { 5 | "template": "Max_Latency_Write.fio", 6 | "alias": "nvme_cli_max_latency_write", 7 | "values": { 8 | "TIME": "600", 9 | "SIZE": "100%" 10 | } 11 | }, 12 | { 13 | "template": "Max_Latency_ReadTrim.fio", 14 | "alias": "nvme_cli_max_latency_readtrim", 15 | "values": { 16 | "TIME": "600", 17 | "SIZE": "100%" 18 | } 19 | } 20 | ], 21 | "run_cycles": 1, 22 | "precondition_cycles": 0, 23 | "devices_in_global": "Y", 24 | "scale_by_capacity": "Y" 25 | } 26 | -------------------------------------------------------------------------------- /wkldsuites/RTL: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"TypeVIwTRIM.fio", 5 | "alias":"4K_L2R9DWPD_wTRIM", 6 | "values" : { 7 | "TIME" : "30", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 13, 10 | "RRATE" : 8750, 11 | "SIZE" : "90%", 12 | "W1THINK" : 960000, 13 | "W2THINK" : 1920000, 14 | "W3THINK" : 9600000, 15 | "W4THINK" : 22500000, 16 | "OFFSET2" : 100000 17 | } 18 | }, 19 | { 20 | "template":"FLeaf_wTRIM.fio", 21 | "alias":"FLeaf_wTRIM", 22 | "values" : { 23 | "TIME" : "90", 24 | "BLKSIZE" : "4096/74:8192/15:12288/5:16384/2:20480/2:262144/2", 25 | "DEPTH" : 10, 26 | "RRATE" : 35000, 27 | "SIZE" : "90%", 28 | "W1THINK" : 96000, 29 | "W2THINK" : 76000000, 30 | "OFFSET2" : 100000 31 | } 32 | } 33 | ], 34 | "run_cycles": 1, 35 | "precondition_cycles": 0, 36 | "devices_in_global": "Y", 37 | "scale_by_capacity": "Y" 38 | } 39 | -------------------------------------------------------------------------------- /wkldsuites/RandRW_70_30_Fio4C: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256 10 | } 11 | } 12 | ], 13 | "def":[ 14 | { 15 | "template":"gen_prep_flash.fio", 16 | "alias":"gen_prep_flash", 17 | "values" : { 18 | "TIME" : "N/A", 19 | "BLKSIZE" : "128K", 20 | "DEPTH" : 256 21 | } 22 | }, 23 | { 24 | "template":"gen_randrw_70_30.fio", 25 | "alias":"gen_randrw_70_30", 26 | "values" : { 27 | "TIME" : "1200", 28 | "RAMPTIME": "600", 29 | "BLKSIZE" : "4K", 30 | "DEPTH" : 64, 31 | "SIZE" : "100%" 32 | } 33 | } 34 | ], 35 | "run_cycles": 1, 36 | "precondition_cycles": 1, 37 | "devices_in_global": "Y", 38 | "scale_by_capacity": "N" 39 | } 40 | -------------------------------------------------------------------------------- /wkldsuites/RandRW_Fio4C: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256 10 | } 11 | } 12 | ], 13 | "def":[ 14 | { 15 | "template":"gen_prep_flash.fio", 16 | "alias":"gen_prep_flash", 17 | "values" : { 18 | "TIME" : "N/A", 19 | "BLKSIZE" : "128K", 20 | "DEPTH" : 256 21 | } 22 | }, 23 | { 24 | "template":"gen_randrw.fio", 25 | "alias":"gen_randrw", 26 | "values" : { 27 | "TIME" : "1200", 28 | "RAMPTIME": "600", 29 | "BLKSIZE" : "4K", 30 | "DEPTH" : 64, 31 | "SIZE" : "100%" 32 | } 33 | } 34 | ], 35 | "run_cycles": 1, 36 | "precondition_cycles": 1, 37 | "devices_in_global": "Y", 38 | "scale_by_capacity": "N" 39 | } 40 | -------------------------------------------------------------------------------- /wkldsuites/RandRead_Fio4C: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256 10 | } 11 | } 12 | ], 13 | "def":[ 14 | { 15 | "template":"gen_prep_flash.fio", 16 | "alias":"gen_prep_flash", 17 | "values" : { 18 | "TIME" : "N/A", 19 | "BLKSIZE" : "128K", 20 | "DEPTH" : 256 21 | } 22 | }, 23 | { 24 | "template":"gen_randread.fio", 25 | "alias":"gen_randread", 26 | "values" : { 27 | "TIME" : "1200", 28 | "RAMPTIME": "600", 29 | "BLKSIZE" : "4K", 30 | "DEPTH" : 64, 31 | "SIZE" : "100%" 32 | } 33 | } 34 | ], 35 | "run_cycles": 1, 36 | "precondition_cycles": 1, 37 | "devices_in_global": "Y", 38 | "scale_by_capacity": "N" 39 | } 40 | -------------------------------------------------------------------------------- /wkldsuites/RandWrite_Fio4C: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256 10 | } 11 | } 12 | ], 13 | "def":[ 14 | { 15 | "template":"gen_prep_flash.fio", 16 | "alias":"gen_prep_flash", 17 | "values" : { 18 | "TIME" : "N/A", 19 | "BLKSIZE" : "128K", 20 | "DEPTH" : 256 21 | } 22 | }, 23 | { 24 | "template":"gen_randwrite.fio", 25 | "alias":"gen_randwrite", 26 | "values" : { 27 | "TIME" : "1200", 28 | "RAMPTIME": "600", 29 | "BLKSIZE" : "4K", 30 | "DEPTH" : 64, 31 | "SIZE" : "100%" 32 | } 33 | } 34 | ], 35 | "run_cycles": 1, 36 | "precondition_cycles": 1, 37 | "devices_in_global": "Y", 38 | "scale_by_capacity": "N" 39 | } 40 | -------------------------------------------------------------------------------- /wkldsuites/Read_Fio4C: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256 10 | } 11 | } 12 | ], 13 | "def":[ 14 | { 15 | "template":"gen_prep_flash.fio", 16 | "alias":"gen_prep_flash", 17 | "values" : { 18 | "TIME" : "N/A", 19 | "BLKSIZE" : "128K", 20 | "DEPTH" : 256 21 | } 22 | }, 23 | { 24 | "template":"gen_randread.fio", 25 | "alias":"gen_randread", 26 | "values" : { 27 | "TIME" : "1200", 28 | "RAMPTIME": "600", 29 | "BLKSIZE" : "4K", 30 | "DEPTH" : 64, 31 | "SIZE" : "100%" 32 | } 33 | } 34 | ], 35 | "run_cycles": 1, 36 | "precondition_cycles": 1, 37 | "devices_in_global": "Y", 38 | "scale_by_capacity": "N" 39 | } 40 | -------------------------------------------------------------------------------- /wkldsuites/Rsw_Cp: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"rsw_cp_precon.fio", 5 | "alias":"rsw_cp_precondition", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "RATE1" : "30000", 9 | "RATE2" : "900", 10 | "DEPTH1" : "900", 11 | "RAMPTIME": "0" 12 | } 13 | }, 14 | { 15 | "template":"rsw_cp.fio", 16 | "alias":"rsw_cp_precondition", 17 | "values" : { 18 | "TIME" : "10800", 19 | "RATE1" : "300", 20 | "RATE2" : "9", 21 | "DEPTH1" : "4", 22 | "RAMPTIME": "120" 23 | } 24 | } 25 | ], 26 | "def":[ 27 | { 28 | "template":"rsw_cp.fio", 29 | "alias":"rsw_cp", 30 | "values" : { 31 | "TIME" : "3600", 32 | "RATE1" : "300", 33 | "RATE2" : "9", 34 | "DEPTH1" : "4", 35 | "RAMPTIME": "120" 36 | }, 37 | "targets" : { 38 | "iops" : { 39 | "read" : { 40 | "MIN" : 39 41 | }, 42 | "write" : { 43 | "MIN" : 4300 44 | } 45 | }, 46 | "throughput" : { 47 | "read" : { 48 | "MIN" : 9 49 | }, 50 | "write" : { 51 | "MIN" : 17 52 | } 53 | }, 54 | "latency" : { 55 | "read" : { 56 | "P99" : 10000, 57 | "P99.99" : 20000, 58 | "MAX" : 30000 59 | }, 60 | "write" : { 61 | "P99" : 250, 62 | "P99.99" : 500, 63 | "MAX" : 15000 64 | } 65 | } 66 | } 67 | } 68 | ], 69 | "run_cycles": 1, 70 | "precondition_cycles": 1, 71 | "precondition_first_cycle_only": "Y", 72 | "devices_in_global": "Y", 73 | "scale_by_capacity": "N" 74 | } 75 | -------------------------------------------------------------------------------- /wkldsuites/Rsw_Cp_wTRIM: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"rsw_cp_precon.fio", 5 | "alias":"rsw_cp_precondition", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "RATE1" : "30000", 9 | "RATE2" : "900", 10 | "DEPTH1" : "900", 11 | "RAMPTIME": "0" 12 | } 13 | }, 14 | { 15 | "template":"rsw_cp_wtrim.fio", 16 | "alias":"rsw_cp_wTRIM_precondition", 17 | "values" : { 18 | "TIME" : "10800", 19 | "SIZE" : "90%", 20 | "RATE1" : "300", 21 | "RATE2" : "9", 22 | "RAMPTIME": "120", 23 | "W1THINK" : "300000000", 24 | "W2THINK" : "15000000", 25 | "W3THINK" : "200000", 26 | "W4THINK" : "130000" 27 | } 28 | } 29 | ], 30 | "def":[ 31 | { 32 | "template":"rsw_cp_wtrim.fio", 33 | "alias":"rsw_cp_wTRIM", 34 | "values" : { 35 | "TIME" : "3600", 36 | "SIZE" : "90%", 37 | "RATE1" : "300", 38 | "RATE2" : "9", 39 | "RAMPTIME": "120", 40 | "W1THINK" : "300000000", 41 | "W2THINK" : "15000000", 42 | "W3THINK" : "200000", 43 | "W4THINK" : "130000" 44 | }, 45 | "targets" : { 46 | "iops" : { 47 | "read" : { 48 | "MIN" : 119 49 | }, 50 | "write" : { 51 | "MIN" : 600 52 | } 53 | }, 54 | "throughput" : { 55 | "read" : { 56 | "MIN" : 27 57 | }, 58 | "write" : { 59 | "MIN" : 80 60 | }, 61 | "trim" : { 62 | "MIN" : 60 63 | } 64 | }, 65 | "latency" : { 66 | "read" : { 67 | "P99" : 15000, 68 | "P99.99" : 30000, 69 | "MAX" : 80000 70 | }, 71 | "write" : { 72 | "P99" : 30000, 73 | "P99.99" : 60000, 74 | "MAX" : 120000 75 | } 76 | } 77 | } 78 | } 79 | ], 80 | "run_cycles": 1, 81 | "precondition_cycles": 1, 82 | "precondition_first_cycle_only": "Y", 83 | "devices_in_global": "Y", 84 | "scale_by_capacity": "N" 85 | } 86 | -------------------------------------------------------------------------------- /wkldsuites/Search: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"searchindex_wTRIM.fio", 20 | "alias":"Search_precondition", 21 | "values" : { 22 | "TIME" : "3600", 23 | "BLKSIZE" : "8192/75:4096/21:16384/4", 24 | "DEPTH" : 100, 25 | "RRATE" : 548, 26 | "SIZE" : "100%", 27 | "W1THINK" : 12800, 28 | "W2THINK" : 25600, 29 | "W3THINK" : 6000000, 30 | "W4THINK" : 1800000, 31 | "W5THINK" : 768000, 32 | "OFFSET2" : 50000 33 | } 34 | } 35 | ], 36 | "def":[ 37 | { 38 | "template":"searchindex_wTRIM.fio", 39 | "alias":"SearchIndex_wTRIM", 40 | "values" : { 41 | "TIME" : "1200", 42 | "BLKSIZE" : "8192/75:4096/21:16384/4", 43 | "DEPTH" : 100, 44 | "RRATE" : 548, 45 | "SIZE" : "100%", 46 | "W1THINK" : 5120000, 47 | "W2THINK" : 10240000, 48 | "W3THINK" : 6000000, 49 | "W4THINK" : 120000000, 50 | "W5THINK" : 51200000, 51 | "OFFSET2" : 50000 52 | } 53 | }, 54 | { 55 | "template":"searchlm_wTRIM.fio", 56 | "alias":"SearchLM_wTRIM", 57 | "values" : { 58 | "TIME" : "1200", 59 | "BLKSIZE" : "8192/50:4096/16:16384/12:32768/8:65536/6:131072/4:262144/4", 60 | "DEPTH" : 32, 61 | "RRATE" : 1900, 62 | "SIZE" : "100%", 63 | "W1THINK" : 30000000, 64 | "W2THINK" : 6000000, 65 | "W3THINK" : 225000, 66 | "OFFSET2" : 50000 67 | } 68 | } 69 | ], 70 | "run_cycles": 1, 71 | "precondition_cycles": 1, 72 | "devices_in_global": "Y", 73 | "scale_by_capacity": "N" 74 | } 75 | -------------------------------------------------------------------------------- /wkldsuites/Search_2H19: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"searchindex_wTRIM.fio", 20 | "alias":"Search_precondition", 21 | "values" : { 22 | "TIME" : "3600", 23 | "BLKSIZE" : "8192/75:4096/21:16384/4", 24 | "DEPTH" : 100, 25 | "RRATE" : 548, 26 | "SIZE" : "100%", 27 | "W1THINK" : 12800, 28 | "W2THINK" : 25600, 29 | "W3THINK" : 6000000, 30 | "W4THINK" : 1800000, 31 | "W5THINK" : 768000, 32 | "OFFSET2" : 50000 33 | } 34 | } 35 | ], 36 | "def":[ 37 | { 38 | "template":"searchindex_wTRIM.fio", 39 | "alias":"SearchIndex_wTRIM", 40 | "values" : { 41 | "TIME" : "1200", 42 | "BLKSIZE" : "8192/75:4096/21:16384/4", 43 | "DEPTH" : 100, 44 | "RRATE" : 548, 45 | "SIZE" : "100%", 46 | "W1THINK" : 5120000, 47 | "W2THINK" : 10240000, 48 | "W3THINK" : 6000000, 49 | "W4THINK" : 120000000, 50 | "W5THINK" : 51200000, 51 | "OFFSET2" : 50000 52 | } 53 | }, 54 | { 55 | "template":"searchlm_wTRIM.fio", 56 | "alias":"SearchLM_wTRIM", 57 | "values" : { 58 | "TIME" : "1200", 59 | "BLKSIZE" : "8192/50:4096/16:16384/12:32768/8:65536/6:131072/4:262144/4", 60 | "DEPTH" : 32, 61 | "RRATE" : 2375, 62 | "SIZE" : "100%", 63 | "W1THINK" : 30000000, 64 | "W2THINK" : 6000000, 65 | "W3THINK" : 180000, 66 | "OFFSET2" : 50000 67 | } 68 | } 69 | ], 70 | "run_cycles": 1, 71 | "precondition_cycles": 1, 72 | "devices_in_global": "Y", 73 | "scale_by_capacity": "N" 74 | } 75 | -------------------------------------------------------------------------------- /wkldsuites/SpinCycle: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"HDD_randread.fio", 5 | "alias":"RandomRead_QD16", 6 | "values" : { 7 | "TIME" : "270", 8 | "RAMPTIME" : "30", 9 | "BLKSIZE" : "4K", 10 | "DEPTH" : 32, 11 | "SIZE" : "100%" 12 | } 13 | }, 14 | { 15 | "template":"HDD_randwrite.fio", 16 | "alias":"RandomWrite_QD16", 17 | "values" : { 18 | "TIME" : "270", 19 | "RAMPTIME" : "30", 20 | "BLKSIZE" : "4K", 21 | "DEPTH" : 16, 22 | "SIZE" : "100%" 23 | } 24 | }, 25 | { 26 | "template":"HDD_seqread.fio", 27 | "alias":"SeqRead_QD16", 28 | "values" : { 29 | "TIME" : "2670", 30 | "RAMPTIME" : "30", 31 | "BLKSIZE" : "1m", 32 | "DEPTH" : 16, 33 | "SIZE" : "100%" 34 | } 35 | }, 36 | { 37 | "template":"HDD_seqwrite.fio", 38 | "alias":"SeqWrite_QD16", 39 | "values" : { 40 | "TIME" : "2670", 41 | "RAMPTIME" : "30", 42 | "BLKSIZE" : "1m", 43 | "DEPTH" : 16, 44 | "SIZE" : "100%" 45 | } 46 | }, 47 | { 48 | "template":"coldstorage.fio", 49 | "alias":"Warmstorage_coldstorage", 50 | "values" : { 51 | "TIME" : "570", 52 | "RAMPTIME": "30" 53 | } 54 | }, 55 | { 56 | "template":"ws_hxfs_hdd.fio", 57 | "alias":"Warmstorage_HXFS_unthrottled", 58 | "values" : { 59 | "TIME" : "570", 60 | "RAMPTIME": "30", 61 | "DEPTH1" : 144, 62 | "RATE1" : "0", 63 | "BLKSIZE" : "32k/2:64k/3:128k/10:256k/12:512k/12:1m/61,4k/4:8k/1:32k/5:64k/3:128k/1:256k/8:512k/7:1m/71" 64 | } 65 | } 66 | ], 67 | "run_cycles": 1, 68 | "precondition_cycles": 0, 69 | "devices_in_global": "Y", 70 | "scale_by_capacity": "N" 71 | } 72 | -------------------------------------------------------------------------------- /wkldsuites/SpinCycleFlash: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"TypeVIwTRIM_2H19.fio", 5 | "alias":"T6_precondition1", 6 | "values" : { 7 | "TIME" : "75600", 8 | "BLKSIZE" : "4096/28:8192/9:16384/8:32768/9:65536/11:131072/35", 9 | "DEPTH" : 13, 10 | "RRATE" : 69, 11 | "SIZE" : "90%", 12 | "W1THINK" : 12800, 13 | "W2THINK" : 25600, 14 | "W3THINK" : 12800000, 15 | "W4THINK" : 30000000, 16 | "MISC" : "512K", 17 | "OFFSET2" : 100000 18 | } 19 | } 20 | ], 21 | "def":[ 22 | { 23 | "template":"TypeVIwTRIM_2H19.fio", 24 | "alias":"4K_L2R9DWPD_wTRIM", 25 | "values" : { 26 | "TIME" : "3600", 27 | "BLKSIZE" : "4096/28:8192/9:16384/8:32768/9:65536/11:131072/35", 28 | "DEPTH" : 13, 29 | "RRATE" : 69, 30 | "SIZE" : "90%", 31 | "W1THINK" : 960000, 32 | "W2THINK" : 1920000, 33 | "W3THINK" : 9600000, 34 | "W4THINK" : 22500000, 35 | "MISC" : "512K", 36 | "OFFSET2" : 100000 37 | } 38 | }, 39 | { 40 | "template":"MyRocks_wTRIM_2H19.fio", 41 | "alias":"MyRocks_Heavy_wTRIM", 42 | "values" : { 43 | "TIME" : "3600", 44 | "BLKSIZE" : "8192/68:4096/8:16384/12:131072/12", 45 | "DEPTH" : 20, 46 | "RRATE" : 120, 47 | "SIZE" : "90%", 48 | "W1THINK" : 87200, 49 | "W2THINK" : 400000, 50 | "W3THINK" : 144000000, 51 | "W4THINK" : 5280000 52 | } 53 | }, 54 | { 55 | "template":"FLeaf_wTRIM_2H19.fio", 56 | "alias":"FLeaf_wTRIM", 57 | "values" : { 58 | "TIME" : "3600", 59 | "BLKSIZE" : "4096/58:8192/18:16384/8:32768/7:65536/5:131072/3:262144/1", 60 | "DEPTH" : 10, 61 | "RRATE" : 107, 62 | "SIZE" : "90%", 63 | "W1THINK" : 96000, 64 | "W2THINK" : 76000000, 65 | "OFFSET2" : 100000 66 | } 67 | } 68 | ], 69 | "run_cycles": 1, 70 | "precondition_cycles": 1, 71 | "precondition_first_cycle_only": "Y", 72 | "devices_in_global": "Y", 73 | "scale_by_capacity": "Y" 74 | } 75 | -------------------------------------------------------------------------------- /wkldsuites/Stacking: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"stacking.fio", 5 | "alias":"stacking_precondition", 6 | "values" : { 7 | "TIME" : "10800", 8 | "SIZE" : "90%", 9 | "RATE1" : "120", 10 | "DEPTH1" : "4", 11 | "RAMPTIME": "120", 12 | "W1THINK" : "30", 13 | "W2THINK" : "20000", 14 | "W3THINK" : "60000000", 15 | "W4THINK" : "700000" 16 | } 17 | } 18 | ], 19 | "def":[ 20 | { 21 | "template":"stacking.fio", 22 | "alias":"stacking", 23 | "values" : { 24 | "TIME" : "3600", 25 | "SIZE" : "90%", 26 | "RATE1" : "120", 27 | "DEPTH1" : "4", 28 | "RAMPTIME": "120", 29 | "W1THINK" : "30000", 30 | "W2THINK" : "20000000", 31 | "W3THINK" : "60000000", 32 | "W4THINK" : "700000" 33 | }, 34 | "targets" : { 35 | "throughput" : { 36 | "read" : { 37 | "MIN" : 120 38 | }, 39 | "write" : { 40 | "MIN" : 64 41 | }, 42 | "trim" : { 43 | "MIN" : 18 44 | } 45 | }, 46 | "latency" : { 47 | "read" : { 48 | "P99" : 10000, 49 | "P99.99" : 50000, 50 | "MAX" : 120000 51 | }, 52 | "write" : { 53 | "P99" : 600, 54 | "P99.99" : 60000, 55 | "MAX" : 350000 56 | } 57 | } 58 | } 59 | } 60 | ], 61 | "run_cycles": 1, 62 | "precondition_cycles": 1, 63 | "precondition_first_cycle_only": "Y", 64 | "devices_in_global": "Y", 65 | "scale_by_capacity": "N" 66 | } 67 | -------------------------------------------------------------------------------- /wkldsuites/Twfeed_Boot: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "128K", 9 | "DEPTH" : 128, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"twfeed.fio", 20 | "alias":"Boot_SSD_twfeed_precondition", 21 | "values" : { 22 | "TIME" : "3480", 23 | "RAMPTIME": "120", 24 | "W1THINK" : 0 25 | } 26 | } 27 | ], 28 | "def":[ 29 | { 30 | "template":"twfeed.fio", 31 | "alias":"Boot_SSD_twfeed", 32 | "values" : { 33 | "TIME" : "1080", 34 | "RAMPTIME": "120", 35 | "W1THINK" : 30000 36 | } 37 | } 38 | ], 39 | "run_cycles": 3, 40 | "precondition_cycles": 1, 41 | "devices_in_global": "Y", 42 | "scale_by_capacity": "N" 43 | } 44 | -------------------------------------------------------------------------------- /wkldsuites/Twi_Iris: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"twi_iris_precon.fio", 5 | "alias":"twi_iris_precondition", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "RATE1" : "900", 9 | "RATE2" : "650K,100000K", 10 | "DEPTH2" : "15000K,80000K", 11 | "RAMPTIME": "120", 12 | "W1THINK": "30000", 13 | "W2THINK": "30000" 14 | } 15 | }, 16 | { 17 | "template":"twi_iris.fio", 18 | "alias":"twi_iris_precondition2", 19 | "values" : { 20 | "TIME" : "10800", 21 | "RATE1" : "9", 22 | "RATE2" : "650K,1000K", 23 | "DEPTH2" : "15000K,800K", 24 | "RAMPTIME": "120", 25 | "W1THINK": "30000000", 26 | "W2THINK": "30000000", 27 | "W3THINK": "30000000" 28 | } 29 | } 30 | ], 31 | "def":[ 32 | { 33 | "template":"twi_iris.fio", 34 | "alias":"twi_iris", 35 | "values" : { 36 | "TIME" : "3600", 37 | "RATE1" : "9", 38 | "RATE2" : "650K,1000K", 39 | "DEPTH2" : "15000K,800K", 40 | "RAMPTIME": "120", 41 | "W1THINK": "30000000", 42 | "W2THINK": "30000000", 43 | "W3THINK": "30000000" 44 | }, 45 | "targets" : { 46 | "iops" : { 47 | "read" : { 48 | "MIN" : 420 49 | }, 50 | "write" : { 51 | "MIN" : 65 52 | } 53 | }, 54 | "throughput" : { 55 | "read" : { 56 | "MIN" : 45 57 | }, 58 | "write" : { 59 | "MIN" : 6 60 | }, 61 | "trim" : { 62 | "MIN" : 2.4 63 | } 64 | }, 65 | "latency" : { 66 | "read" : { 67 | "P99" : 10000, 68 | "P99.99" : 50000, 69 | "MAX" : 150000 70 | }, 71 | "write" : { 72 | "P99" : 40000, 73 | "P99.99" : 200000, 74 | "MAX" : 400000 75 | } 76 | } 77 | } 78 | } 79 | ], 80 | "run_cycles": 1, 81 | "precondition_cycles": 1, 82 | "precondition_first_cycle_only": "Y", 83 | "devices_in_global": "Y", 84 | "scale_by_capacity": "N" 85 | } 86 | -------------------------------------------------------------------------------- /wkldsuites/Twshared_Boot: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "128K", 9 | "DEPTH" : 128, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"twshared.fio", 20 | "alias":"Boot_SSD_precondition", 21 | "values" : { 22 | "TIME" : "3480", 23 | "RAMPTIME": "120", 24 | "RATE1": "0", 25 | "W1THINK" : 30000 26 | } 27 | } 28 | ], 29 | "def":[ 30 | { 31 | "template":"twshared.fio", 32 | "alias":"Boot_SSD_twshared", 33 | "values" : { 34 | "TIME" : "1080", 35 | "RAMPTIME": "120", 36 | "RATE1": "140k,3m", 37 | "W1THINK" : 30000 38 | } 39 | } 40 | ], 41 | "run_cycles": 3, 42 | "precondition_cycles": 1, 43 | "devices_in_global": "Y", 44 | "scale_by_capacity": "N" 45 | } 46 | -------------------------------------------------------------------------------- /wkldsuites/Twshared_Pkg_Boot: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"twshared-pkg.fio", 5 | "alias":"twshared-pkg_precondition", 6 | "values" : { 7 | "TIME" : "5400", 8 | "RATE1" : "1", 9 | "RAMPTIME": "120", 10 | "W1THINK" : 60000000, 11 | "W2THINK" : 330, 12 | "W3THINK" : 30000 13 | } 14 | } 15 | ], 16 | "def":[ 17 | { 18 | "template":"twshared-pkg.fio", 19 | "alias":"twshared-pkg", 20 | "values" : { 21 | "TIME" : "3600", 22 | "RATE1" : "50", 23 | "RAMPTIME": "120", 24 | "W1THINK" : 18000000, 25 | "W2THINK" : 330000, 26 | "W3THINK" : 30000000 27 | }, 28 | "targets" : { 29 | "iops" : { 30 | "read" : { 31 | "MIN" : 210 32 | }, 33 | "write" : { 34 | "MIN" : 600 35 | } 36 | }, 37 | "throughput" : { 38 | "read" : { 39 | "MIN" : 51 40 | }, 41 | "write" : { 42 | "MIN" : 62 43 | } 44 | }, 45 | "latency" : { 46 | "read" : { 47 | "P99" : 60000, 48 | "P99.99" : 90000, 49 | "MAX" : 100000 50 | }, 51 | "write" : { 52 | "P99" : 30000, 53 | "P99.99" : 60000, 54 | "MAX" : 250000 55 | } 56 | } 57 | } 58 | } 59 | ], 60 | "run_cycles": 3, 61 | "precondition_cycles": 1, 62 | "devices_in_global": "Y", 63 | "scale_by_capacity": "N" 64 | } 65 | -------------------------------------------------------------------------------- /wkldsuites/UDB_Boot: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "128K", 9 | "DEPTH" : 128, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"udb_boot.fio", 20 | "alias":"UDB_Boot_precondition", 21 | "values" : { 22 | "TIME" : "3480", 23 | "RAMPTIME": "120", 24 | "W1THINK" : 0, 25 | "W2THINK" : 0 26 | } 27 | } 28 | ], 29 | "def":[ 30 | { 31 | "template":"udb_boot.fio", 32 | "alias":"UDB_Boot", 33 | "values" : { 34 | "TIME" : "1080", 35 | "RAMPTIME": "120", 36 | "W1THINK" : 5000000, 37 | "W2THINK" : 19000000 38 | }, 39 | "targets" : { 40 | "latency" : { 41 | "read" : { 42 | "P99" : 5000, 43 | "P99.99" : 20000, 44 | "MAX" : 500000 45 | }, 46 | "write" : { 47 | "P99" : 100000, 48 | "P99.99" : 200000, 49 | "MAX" : 400000 50 | } 51 | } 52 | } 53 | } 54 | ], 55 | "run_cycles": 3, 56 | "precondition_cycles": 1, 57 | "devices_in_global": "Y", 58 | "scale_by_capacity": "N" 59 | } 60 | -------------------------------------------------------------------------------- /wkldsuites/WSCACHE_1H22: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"wscache_1H22.fio", 5 | "alias":"wscache_1H22-precondition1", 6 | "values" : { 7 | "TIME" : "21600", 8 | "DEPTH" : 0, 9 | "RRATE" : 49, 10 | "SIZE" : "100%", 11 | "W1THINK" : 23750, 12 | "W2THINK" : 78947, 13 | "W3THINK" : 0, 14 | "RAMPTIME": 30, 15 | "OFFSET2" : 0 16 | } 17 | }, 18 | { 19 | "template":"wscache_1H22.fio", 20 | "alias":"wscache_1H22-precondition2", 21 | "values" : { 22 | "TIME" : "600", 23 | "DEPTH" : 2, 24 | "RRATE" : 9814, 25 | "SIZE" : "100%", 26 | "W1THINK" : 48000, 27 | "W2THINK" : 160000, 28 | "W3THINK" : 0, 29 | "RAMPTIME": 30, 30 | "OFFSET2" : 0 31 | } 32 | } 33 | ], 34 | "def":[ 35 | { 36 | "template":"wscache_1H22.fio", 37 | "alias":"wscache_1H22-normal", 38 | "values" : { 39 | "TIME" : "14400", 40 | "DEPTH" : 0, 41 | "RRATE" : 4907, 42 | "SIZE" : "70%", 43 | "W1THINK" : 2375000, 44 | "W2THINK" : 1140000000, 45 | "W3THINK" : 0, 46 | "RAMPTIME": 30, 47 | "OFFSET2" : 0 48 | }, 49 | "targets" : { 50 | "throughput" : { 51 | "read" : { 52 | "MIN" : 215 53 | }, 54 | "write" : { 55 | "MIN" : 90 56 | }, 57 | "scale_by_TB" : { 58 | "value" : true 59 | } 60 | }, 61 | "latency" : { 62 | "read" : { 63 | "P99" : 10000, 64 | "P99.99" : 15000, 65 | "P99.9999" : 20000, 66 | "MAX" : 30000 67 | }, 68 | "write" : { 69 | "P99.99" : 50000, 70 | "P99.9999" : 85000, 71 | "MAX" : 100000 72 | } 73 | } 74 | } 75 | } 76 | ], 77 | "run_cycles": 1, 78 | "precondition_cycles": 1, 79 | "devices_in_global": "Y", 80 | "scale_by_capacity": "Y" 81 | } 82 | -------------------------------------------------------------------------------- /wkldsuites/WSCache_WSF_Stress: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"wscache_1H22.fio", 5 | "alias":"wscache_1H22-precondition1", 6 | "values" : { 7 | "TIME" : "216", 8 | "DEPTH" : 0, 9 | "RRATE" : 49, 10 | "SIZE" : "100%", 11 | "W1THINK" : 23750, 12 | "W2THINK" : 78947, 13 | "W3THINK" : 0, 14 | "RAMPTIME": 30, 15 | "OFFSET2" : 0 16 | } 17 | }, 18 | { 19 | "template":"wscache_1H22.fio", 20 | "alias":"wscache_1H22-precondition2", 21 | "values" : { 22 | "TIME" : "6", 23 | "DEPTH" : 2, 24 | "RRATE" : 9814, 25 | "SIZE" : "100%", 26 | "W1THINK" : 48000, 27 | "W2THINK" : 160000, 28 | "W3THINK" : 0, 29 | "RAMPTIME": 30, 30 | "OFFSET2" : 0 31 | } 32 | } 33 | ], 34 | "def":[ 35 | { 36 | "template":"wscache_1H22.fio", 37 | "alias":"wscache_1H22-normal", 38 | "values" : { 39 | "TIME" : "144", 40 | "DEPTH" : 0, 41 | "RRATE" : 4907, 42 | "SIZE" : "70%", 43 | "W1THINK" : 2375000, 44 | "W2THINK" : 1140000000, 45 | "W3THINK" : 0, 46 | "RAMPTIME": 30, 47 | "OFFSET2" : 0 48 | } 49 | }, 50 | { 51 | "template":"wsf-tl_1H22.fio", 52 | "alias":"wsf-tl-1H22-normal", 53 | "values" : { 54 | "TIME" : "36", 55 | "DEPTH" : 32, 56 | "RRATE" : 14, 57 | "SIZE" : "100%", 58 | "W1THINK" : 1400000, 59 | "W2THINK" : 126000, 60 | "W3THINK" : 15200000, 61 | "RAMPTIME": 30, 62 | "OFFSET2" : 250000 63 | } 64 | }, 65 | { 66 | "template":"wsf-tl_2H21.fio", 67 | "alias":"wsf-tl-normal", 68 | "values" : { 69 | "TIME" : "36", 70 | "DEPTH" : 4, 71 | "RRATE" : 30, 72 | "SIZE" : "100%", 73 | "W1THINK" : 200000, 74 | "W2THINK" : 60000000, 75 | "W3THINK" : 10800000, 76 | "RAMPTIME": 30, 77 | "OFFSET2" : 250000 78 | } 79 | } 80 | ], 81 | "run_cycles": 1, 82 | "precondition_cycles": 1, 83 | "devices_in_global": "Y", 84 | "scale_by_capacity": "Y" 85 | } 86 | -------------------------------------------------------------------------------- /wkldsuites/WSF_1H22: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"wsf-tl_1H22.fio", 5 | "alias":"wsf-tl-1H22-precondition1", 6 | "values" : { 7 | "TIME" : "21600", 8 | "DEPTH" : 1, 9 | "RRATE" : 1, 10 | "SIZE" : "100%", 11 | "W1THINK" : 22300, 12 | "W2THINK" : 1260, 13 | "W3THINK" : 304000, 14 | "RAMPTIME": 30, 15 | "OFFSET2" : 250000 16 | } 17 | }, 18 | { 19 | "template":"wsf-tl_1H22.fio", 20 | "alias":"wsf-tl-1H22-precondition2", 21 | "values" : { 22 | "TIME" : "600", 23 | "DEPTH" : 64, 24 | "RRATE" : 28, 25 | "SIZE" : "100%", 26 | "W1THINK" : 50000, 27 | "W2THINK" : 600, 28 | "W3THINK" : 600000, 29 | "RAMPTIME": 30, 30 | "OFFSET2" : 50000 31 | } 32 | } 33 | ], 34 | "def":[ 35 | { 36 | "template":"wsf-tl_1H22.fio", 37 | "alias":"wsf-tl-1H22-normal", 38 | "values" : { 39 | "TIME" : "3600", 40 | "DEPTH" : 32, 41 | "RRATE" : 14, 42 | "SIZE" : "100%", 43 | "W1THINK" : 1400000, 44 | "W2THINK" : 126000, 45 | "W3THINK" : 15200000, 46 | "RAMPTIME": 30, 47 | "OFFSET2" : 250000 48 | }, 49 | "targets" : { 50 | "throughput" : { 51 | "read" : { 52 | "MIN" : 78 53 | }, 54 | "write" : { 55 | "MIN" : 43 56 | }, 57 | "trim" : { 58 | "MIN" : 29 59 | }, 60 | "scale_by_TB" : { 61 | "value" : true 62 | } 63 | }, 64 | "latency" : { 65 | "read" : { 66 | "P99" : 1000, 67 | "P99.99" : 5000, 68 | "P99.9999" : 10000, 69 | "MAX" : 25000 70 | }, 71 | "write" : { 72 | "P99.99" : 10000, 73 | "P99.9999" : 15000, 74 | "MAX" : 25000 75 | } 76 | } 77 | } 78 | } 79 | ], 80 | "run_cycles": 1, 81 | "precondition_cycles": 1, 82 | "devices_in_global": "Y", 83 | "scale_by_capacity": "Y" 84 | } 85 | -------------------------------------------------------------------------------- /wkldsuites/WSF_LASER_RO_2H22: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_rand.fio", 5 | "alias":"prep_rand", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "64m", 9 | "DEPTH" : 1, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | } 18 | ], 19 | "def":[ 20 | { 21 | "template":"wsf-laser-ro_2H22.fio", 22 | "alias":"wsf-laser-ro_2H22-normal", 23 | "values" : { 24 | "TIME" : "14400", 25 | "DEPTH" : 34, 26 | "RRATE" : 13, 27 | "SIZE" : "14%", 28 | "W1THINK" : 0, 29 | "W2THINK" : 0, 30 | "W3THINK" : 0, 31 | "RAMPTIME": 30, 32 | "OFFSET2" : 0 33 | } 34 | } 35 | ], 36 | "run_cycles": 1, 37 | "precondition_cycles": 1, 38 | "devices_in_global": "Y", 39 | "scale_by_capacity": "Y" 40 | } 41 | -------------------------------------------------------------------------------- /wkldsuites/Warmstorage_HDD: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"ws_hxfs_hdd.fio", 5 | "alias":"Warmstorage_HXFS_HDD_LOW", 6 | "values" : { 7 | "TIME" : "300", 8 | "RAMPTIME": "120", 9 | "DEPTH1" : 4, 10 | "RATE1" : "1220k,732k", 11 | "BLKSIZE" : "32k/2:64k/3:128k/10:256k/12:512k/12:1m/61,4k/4:8k/1:32k/5:64k/3:128k/1:256k/8:512k/7:1m/71" 12 | } 13 | }, 14 | { 15 | "template":"ws_hxfs_hdd.fio", 16 | "alias":"Warmstorage_HXFS_HDD_MEDIUM", 17 | "values" : { 18 | "TIME" : "300", 19 | "RAMPTIME": "120", 20 | "DEPTH1" : 4, 21 | "RATE1" : "2441k,1953k", 22 | "BLKSIZE" : "32k/2:64k/3:128k/10:256k/12:512k/12:1m/61,4k/4:8k/1:32k/5:64k/3:128k/1:256k/8:512k/7:1m/71" 23 | } 24 | }, 25 | { 26 | "template":"ws_hxfs_hdd.fio", 27 | "alias":"Warmstorage_HXFS_HDD_HIGH", 28 | "values" : { 29 | "TIME" : "300", 30 | "RAMPTIME": "120", 31 | "DEPTH1" : 4, 32 | "RATE1" : "4882k,3417k", 33 | "BLKSIZE" : "32k/2:64k/3:128k/10:256k/12:512k/12:1m/61,4k/4:8k/1:32k/5:64k/3:128k/1:256k/8:512k/7:1m/71" 34 | } 35 | }, 36 | { 37 | "template":"ws_hxfs_hdd_heavy.fio", 38 | "alias":"Warmstorage_HXFS_HDD_HEAVYREAD", 39 | "values" : { 40 | "TIME" : "300", 41 | "RAMPTIME": "120", 42 | "DEPTH1" : 4, 43 | "RATE1" : "15m,2m", 44 | "BLKSIZE" : "32k/22:64k/2:128k/3:256k/11:512k/34:1m/28,4k/3:8k/1:32k/1:64k/4:128k/2:256k/12:512k/40:1m/37" 45 | } 46 | }, 47 | { 48 | "template":"ws_xfs_hdd.fio", 49 | "alias":"Warmstorage_XFS_HDD", 50 | "values" : { 51 | "TIME" : "300", 52 | "RAMPTIME": "120" 53 | } 54 | } 55 | ], 56 | "run_cycles": 3, 57 | "precondition_cycles": 0, 58 | "devices_in_global": "Y", 59 | "scale_by_capacity": "N" 60 | } 61 | -------------------------------------------------------------------------------- /wkldsuites/Warmstorage_HXFS_HDD: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"ws_hxfs_hdd.fio", 5 | "alias":"Warmstorage_HXFS_HDD_LOW", 6 | "values" : { 7 | "TIME" : "300", 8 | "RAMPTIME": "120", 9 | "DEPTH1" : 4, 10 | "RATE1" : "1220k,732k", 11 | "BLKSIZE" : "32k/2:64k/3:128k/10:256k/12:512k/12:1m/61,4k/4:8k/1:32k/5:64k/3:128k/1:256k/8:512k/7:1m/71" 12 | } 13 | }, 14 | { 15 | "template":"ws_hxfs_hdd.fio", 16 | "alias":"Warmstorage_HXFS_HDD_MEDIUM", 17 | "values" : { 18 | "TIME" : "300", 19 | "RAMPTIME": "120", 20 | "DEPTH1" : 4, 21 | "RATE1" : "2441k,1953k", 22 | "BLKSIZE" : "32k/2:64k/3:128k/10:256k/12:512k/12:1m/61,4k/4:8k/1:32k/5:64k/3:128k/1:256k/8:512k/7:1m/71" 23 | } 24 | }, 25 | { 26 | "template":"ws_hxfs_hdd.fio", 27 | "alias":"Warmstorage_HXFS_HDD_HIGH", 28 | "values" : { 29 | "TIME" : "300", 30 | "RAMPTIME": "120", 31 | "DEPTH1" : 4, 32 | "RATE1" : "4882k,3417k", 33 | "BLKSIZE" : "32k/2:64k/3:128k/10:256k/12:512k/12:1m/61,4k/4:8k/1:32k/5:64k/3:128k/1:256k/8:512k/7:1m/71" 34 | } 35 | }, 36 | { 37 | "template":"ws_hxfs_hdd_heavy.fio", 38 | "alias":"Warmstorage_HXFS_HDD_HEAVYREAD", 39 | "values" : { 40 | "TIME" : "300", 41 | "RAMPTIME": "120", 42 | "DEPTH1" : 4, 43 | "RATE1" : "15m,2m", 44 | "BLKSIZE" : "32k/22:64k/2:128k/3:256k/11:512k/34:1m/28,4k/3:8k/1:32k/1:64k/4:128k/2:256k/12:512k/40:1m/37" 45 | } 46 | } 47 | ], 48 | "run_cycles": 3, 49 | "precondition_cycles": 0, 50 | "devices_in_global": "Y", 51 | "scale_by_capacity": "N" 52 | } 53 | -------------------------------------------------------------------------------- /wkldsuites/Warmstorage_HXFS_SSD: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_rand.fio", 5 | "alias":"prep_rand", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "4K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"ws_hxfs_ssd.fio", 20 | "alias":"Warmstorage_HXFS_SSD_precondition", 21 | "values" : { 22 | "TIME" : "3600", 23 | "RAMPTIME": "120", 24 | "RATE1" : "110k", 25 | "RATE2" : "0", 26 | "W1THINK" : 1250, 27 | "W2THINK" : 250 28 | } 29 | } 30 | ], 31 | "def":[ 32 | { 33 | "template":"ws_hxfs_ssd.fio", 34 | "alias":"Warmstorage_HXFS_SSD_LOW", 35 | "values" : { 36 | "TIME" : "1200", 37 | "RAMPTIME": "120", 38 | "RATE1" : "110k", 39 | "RATE2" : "6k", 40 | "W1THINK" : 1250, 41 | "W2THINK" : 250 42 | }, 43 | "targets" : { 44 | "latency" : { 45 | "read" : { 46 | "P99" : 5000, 47 | "P99.99" : 20000, 48 | "MAX" : 500000 49 | }, 50 | "write" : { 51 | "P99" : 40000, 52 | "P99.99" : 100000, 53 | "MAX" : 400000 54 | } 55 | } 56 | } 57 | }, 58 | { 59 | "template":"ws_hxfs_ssd.fio", 60 | "alias":"Warmstorage_HXFS_SSD_MEDIUM", 61 | "values" : { 62 | "TIME" : "1200", 63 | "RAMPTIME": "120", 64 | "RATE1" : "161k", 65 | "RATE2" : "8k", 66 | "W1THINK" : 2500, 67 | "W2THINK" : 500 68 | } 69 | }, 70 | { 71 | "template":"ws_hxfs_ssd.fio", 72 | "alias":"Warmstorage_HXFS_SSD_HIGH", 73 | "values" : { 74 | "TIME" : "1200", 75 | "RAMPTIME": "120", 76 | "RATE1" : "232k", 77 | "RATE2" : "11k", 78 | "W1THINK" : 3750, 79 | "W2THINK" : 750 80 | } 81 | } 82 | ], 83 | "run_cycles": 1, 84 | "precondition_cycles": 4, 85 | "devices_in_global": "Y", 86 | "scale_by_capacity": "N" 87 | } 88 | -------------------------------------------------------------------------------- /wkldsuites/Wedge_Boot: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "128K", 9 | "DEPTH" : 128, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"rsw_burst.fio", 20 | "alias":"Boot_SSD_wedge_precondition", 21 | "values" : { 22 | "TIME" : "3480", 23 | "RAMPTIME": "120", 24 | "RATE1": "0", 25 | "W1THINK" : 0 26 | } 27 | } 28 | ], 29 | "def":[ 30 | { 31 | "template":"rsw_burst.fio", 32 | "alias":"Boot_SSD_wedge", 33 | "values" : { 34 | "TIME" : "1080", 35 | "RAMPTIME": "120", 36 | "W1THINK" : 30000 37 | } 38 | } 39 | ], 40 | "run_cycles": 3, 41 | "precondition_cycles": 1, 42 | "devices_in_global": "Y", 43 | "scale_by_capacity": "N" 44 | } 45 | -------------------------------------------------------------------------------- /wkldsuites/Wildcard: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"wildcard.fio", 5 | "alias":"Wildcard_precondition", 6 | "values" : { 7 | "TIME" : "36000", 8 | "BLKSIZE" : "131072/73:65536/2:32768/2:16384/6:8192/11:4096/6", 9 | "DEPTH" : 10, 10 | "RRATE" : 65, 11 | "SIZE" : "90%", 12 | "W1THINK" : 400, 13 | "W2THINK" : 24000, 14 | "W3THINK" : 48000, 15 | "W4THINK" : 16000, 16 | "OFFSET2" : 100000 17 | } 18 | } 19 | ], 20 | "def":[ 21 | { 22 | "template":"wildcard_normal.fio", 23 | "alias":"Wildcard_normal", 24 | "values" : { 25 | "TIME" : "1200", 26 | "BLKSIZE" : "131072/73:65536/2:32768/2:16384/6:8192/11:4096/6", 27 | "DEPTH" : 10, 28 | "RRATE" : 32, 29 | "SIZE" : "90%", 30 | "W1THINK" : 24000, 31 | "W2THINK" : 1250000, 32 | "W3THINK" : 1600000, 33 | "OFFSET2" : 100000 34 | } 35 | }, 36 | { 37 | "template":"wildcard.fio", 38 | "alias":"Wildcard_heavy", 39 | "values" : { 40 | "TIME" : "1200", 41 | "BLKSIZE" : "131072/73:65536/2:32768/2:16384/6:8192/11:4096/6", 42 | "DEPTH" : 10, 43 | "RRATE" : 65, 44 | "SIZE" : "90%", 45 | "W1THINK" : 40000, 46 | "W2THINK" : 2400000, 47 | "W3THINK" : 4800000, 48 | "W4THINK" : 1600000, 49 | "OFFSET2" : 100000 50 | } 51 | } 52 | ], 53 | "run_cycles": 1, 54 | "precondition_cycles": 1, 55 | "devices_in_global": "Y", 56 | "scale_by_capacity": "Y" 57 | } 58 | -------------------------------------------------------------------------------- /wkldsuites/Wildcard_Normal: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"wildcard.fio", 5 | "alias":"Wildcard_precondition", 6 | "values" : { 7 | "TIME" : "36000", 8 | "BLKSIZE" : "131072/73:65536/2:32768/2:16384/6:8192/11:4096/6", 9 | "DEPTH" : 10, 10 | "RRATE" : 65, 11 | "SIZE" : "90%", 12 | "W1THINK" : 400, 13 | "W2THINK" : 24000, 14 | "W3THINK" : 48000, 15 | "W4THINK" : 16000, 16 | "OFFSET2" : 100000 17 | } 18 | } 19 | ], 20 | "def":[ 21 | { 22 | "template":"wildcard_normal.fio", 23 | "alias":"Wildcard_Normal", 24 | "values" : { 25 | "TIME" : "1200", 26 | "BLKSIZE" : "131072/73:65536/2:32768/2:16384/6:8192/11:4096/6", 27 | "DEPTH" : 10, 28 | "RRATE" : 32, 29 | "SIZE" : "90%", 30 | "W1THINK" : 24000, 31 | "W2THINK" : 1250000, 32 | "W3THINK" : 1600000, 33 | "OFFSET2" : 100000 34 | } 35 | } 36 | ], 37 | "run_cycles": 1, 38 | "precondition_cycles": 1, 39 | "devices_in_global": "Y", 40 | "scale_by_capacity": "Y" 41 | } 42 | -------------------------------------------------------------------------------- /wkldsuites/Write_Fio4C: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256 10 | } 11 | } 12 | ], 13 | "def":[ 14 | { 15 | "template":"gen_prep_flash.fio", 16 | "alias":"gen_prep_flash", 17 | "values" : { 18 | "TIME" : "N/A", 19 | "BLKSIZE" : "128K", 20 | "DEPTH" : 256 21 | } 22 | }, 23 | { 24 | "template":"gen_write.fio", 25 | "alias":"gen_write", 26 | "values" : { 27 | "TIME" : "1200", 28 | "RAMPTIME": "600", 29 | "BLKSIZE" : "128K", 30 | "DEPTH" : 256, 31 | "SIZE" : "100%" 32 | } 33 | } 34 | ], 35 | "run_cycles": 1, 36 | "precondition_cycles": 1, 37 | "devices_in_global": "Y", 38 | "scale_by_capacity": "N" 39 | } 40 | -------------------------------------------------------------------------------- /wkldsuites/backup: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"backup.fio", 5 | "alias":"backup", 6 | "values" : { 7 | "SIZE" : "100%", 8 | "TIME" : "300", 9 | "RAMPTIME": "120", 10 | "DEPTH1" : 4, 11 | "DEPTH2" : 1, 12 | "RATE1" : "100m", 13 | "RATE2" : "1m" 14 | } 15 | } 16 | ], 17 | "run_cycles": 3, 18 | "precondition_cycles": 0, 19 | "devices_in_global": "Y", 20 | "scale_by_capacity": "N" 21 | } 22 | -------------------------------------------------------------------------------- /wkldsuites/precondition_full: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"trimrate.fio", 5 | "alias":"3GTRIM", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "3G", 9 | "DEPTH" : 1, 10 | "RRATE" : 1, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | }, 18 | { 19 | "template":"TypeVI.fio", 20 | "alias":"T6_precondition1", 21 | "values" : { 22 | "TIME" : "36000", 23 | "BLKSIZE" : "4K", 24 | "DEPTH" : 10, 25 | "RRATE" : 3500, 26 | "SIZE" : "100%", 27 | "W1THINK" : 12800, 28 | "W2THINK" : 25600, 29 | "W3THINK" : 12800000, 30 | "W4THINK" : 30000000 31 | } 32 | } 33 | ], 34 | "run_cycles": 1, 35 | "precondition_cycles": 0, 36 | "devices_in_global": "Y", 37 | "scale_by_capacity": "Y" 38 | } 39 | -------------------------------------------------------------------------------- /wkldsuites/prep: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"prep_flash.fio", 5 | "alias":"prep_flash", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | } 18 | ], 19 | "run_cycles": 1, 20 | "precondition_cycles": 0, 21 | "devices_in_global": "Y", 22 | "scale_by_capacity": "N" 23 | } 24 | -------------------------------------------------------------------------------- /wkldsuites/readhammer: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep.fio", 5 | "alias":"prep", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | } 18 | ], 19 | "def":[ 20 | { 21 | "template":"readhammer.fio", 22 | "alias":"readhammer", 23 | "values" : { 24 | "TIME" : "N/A", 25 | "BLKSIZE" : "4K", 26 | "DEPTH" : 1, 27 | "RRATE" : 1, 28 | "SIZE" : "N/A", 29 | "W1THINK" : 0, 30 | "W2THINK" : 0, 31 | "W3THINK" : 0, 32 | "W4THINK" : 0 33 | } 34 | } 35 | ], 36 | "run_cycles": 336, 37 | "precondition_cycles": 1, 38 | "devices_in_global": "N", 39 | "scale_by_capacity": "Y" 40 | } 41 | -------------------------------------------------------------------------------- /wkldsuites/write_journal: -------------------------------------------------------------------------------- 1 | { 2 | "def":[ 3 | { 4 | "template":"backup_write_journal.fio", 5 | "alias":"backup_write_journal", 6 | "values" : { 7 | "SIZE" : "100%", 8 | "TIME" : "300", 9 | "DEPTH1" : 256, 10 | "DEPTH2" : 100, 11 | "RATE1" : "150m", 12 | "RATE2" : "150m" 13 | } 14 | }, 15 | { 16 | "template":"seqwrite_write_journal.fio", 17 | "alias":"seqwrite_write_journal", 18 | "values" : { 19 | "SIZE" : "100%", 20 | "TIME" : "300", 21 | "DEPTH1" : 256, 22 | "DEPTH2" : 100, 23 | "RATE1" : "780m", 24 | "RATE2" : "780m" 25 | } 26 | } 27 | ], 28 | "run_cycles": 3, 29 | "precondition_cycles": 0, 30 | "devices_in_global": "Y", 31 | "scale_by_capacity": "N" 32 | } 33 | -------------------------------------------------------------------------------- /wkldsuites/writehammer: -------------------------------------------------------------------------------- 1 | { 2 | "pre":[ 3 | { 4 | "template":"prep.fio", 5 | "alias":"prep", 6 | "values" : { 7 | "TIME" : "N/A", 8 | "BLKSIZE" : "512K", 9 | "DEPTH" : 256, 10 | "RRATE" : 0, 11 | "SIZE" : "N/A", 12 | "W1THINK" : 0, 13 | "W2THINK" : 0, 14 | "W3THINK" : 0, 15 | "W4THINK" : 0 16 | } 17 | } 18 | ], 19 | "def":[ 20 | { 21 | "template":"writehammer.fio", 22 | "alias":"writehammer", 23 | "values" : { 24 | "TIME" : "N/A", 25 | "BLKSIZE" : "512K", 26 | "DEPTH" : 1, 27 | "RRATE" : 1, 28 | "SIZE" : "N/A", 29 | "W1THINK" : 0, 30 | "W2THINK" : 0, 31 | "W3THINK" : 0, 32 | "W4THINK" : 0 33 | } 34 | }, 35 | { 36 | "template":"readhammer.fio", 37 | "alias":"readhammer", 38 | "values" : { 39 | "TIME" : "N/A", 40 | "BLKSIZE" : "512K", 41 | "DEPTH" : 1, 42 | "RRATE" : 1, 43 | "SIZE" : "N/A", 44 | "W1THINK" : 0, 45 | "W2THINK" : 0, 46 | "W3THINK" : 0, 47 | "W4THINK" : 0 48 | } 49 | } 50 | ], 51 | "run_cycles": 1, 52 | "precondition_cycles": 1, 53 | "devices_in_global": "N", 54 | "scale_by_capacity": "Y" 55 | } 56 | --------------------------------------------------------------------------------