FioSynth 项目使用教程
FioSynth Tool which enables the creation of synthetic storage workloads, automates the execution and results collection of synthetic storage benchmarks. 项目地点: https://gitcode.com/gh_mirrors/fi/FioSynth
1. 项目目录结构及介绍
FioSynth 项目标目录结构如下:
- FioSynth/
- ├── fiosynth_lib/
- ├── jobfiles/
- ├── tests/
- ├── wkldsuites/
- ├── .gitignore
- ├── CODE_OF_CONDUCT.md
- ├── CONTRIBUTING.md
- ├── LICENSE
- ├── MANIFEST.in
- ├── README-READHAMMER.txt
- ├── README.md
- ├── Release_Notes.txt
- ├── fiosynth.py
- ├── packman.yml
- ├── setup.cfg
- ├── setup.py
- ├── smartAll.sh
- ├── test-requirements.txt
- └── tox.ini
复制代码 目录结构介绍
- fiosynth_lib/: 包含 FioSynth 的核心库文件。
- jobfiles/: 包含用于定义存储工作负载的配置文件。
- tests/: 包含项目标测试文件。
- wkldsuites/: 包含工作负载套件的配置文件。
- .gitignore: Git 忽略文件,定义了哪些文件和目录不需要被 Git 跟踪。
- CODE_OF_CONDUCT.md: 项目标行为准则。
- CONTRIBUTING.md: 贡献指南,引导开发者如何为项目做出贡献。
- LICENSE: 项目标开源许可证,通常为 MIT 许可证。
- MANIFEST.in: 用于定义在打包时需要包含的文件。
- README-READHAMMER.txt: 关于 ReadHammer 工作负载的详细说明。
- README.md: 项目标介绍和使用说明。
- Release_Notes.txt: 发布说明,记载每个版本的更新内容。
- fiosynth.py: 项目标启动文件。
- packman.yml: 项目标打包配置文件。
- setup.cfg: 项目标配置文件,通常用于定义安装和打包的配置。
- setup.py: 用于安装项目标脚本。
- smartAll.sh: 用于收集 SMART 日志的脚本。
- test-requirements.txt: 测试所需的依靠包列表。
- tox.ini: 用于定义测试情况的配置文件。
2. 项目启动文件介绍
项目标启动文件是 fiosynth.py。该文件是 FioSynth 的核心入口,负责启动和实验存储工作负载的主动化测试。
启动文件功能
- 工作负载实验: 根据配置文件实验不同的存储工作负载。
- 结果收集: 主动收集息争析测试结果。
- 日志记载: 记载测试过程中的日志信息。
启动下令
- python3 fiosynth.py -d /dev/sdc -w LE_Flash -f LE_Flash_sdc
复制代码
- -d: 指定装备路径。
- -w: 指定工作负载套件文件。
- -f: 指定结果文件名。
3. 项目配置文件介绍
FioSynth 项目标配置文件主要包括 setup.cfg 和 jobfiles/ 目录下的配置文件。
setup.cfg
setup.cfg 是项目标配置文件,用于定义安装和打包的配置。以下是一些常见的配置项:
- [metadata]
- name = FioSynth
- version = 1.0.0
- description = Tool which enables the creation of synthetic storage workloads, automates the execution and results collection of synthetic storage benchmarks.
- author = Facebook Incubator
- license = MIT
- [options]
- packages = find:
- install_requires =
- python-dateutil
- fio
复制代码 jobfiles/
jobfiles/ 目录下的配置文件用于定义详细的存储工作负载。每个配置文件通常是一个 JSON 格式的文件,包含以下内容:
- {
- "run_cycles": 3,
- "precondition_cycles": 2,
- "devices_in_global": "Y",
- "workloads": [
- {
- "template": "fio_jobfile.fio",
- "alias": "LE_Flash",
- "TIME": 300,
- "BLKSIZE": 4096,
- "DEPTH": 16,
- "RRATE": 1000,
- "SIZE": "100%",
- "W1THINK": 0,
- "W2THINK": 0,
- "W3THINK": 0,
- "W4THINK": 0
- }
- ]
- }
复制代码
- run_cycles: 定义工作负载的运行周期数。
- precondition_cycles: 定义预处置处罚周期数。
- devices_in_global: 定义装备是否在全局配置中。
- workloads: 定义详细的工作负载配置。
通过这些配置文件,用户可以自定义存储工作负载的实验参数,以满足不同的测试需求。
FioSynth Tool which enables the creation of synthetic storage workloads, automates the execution and results collection of synthetic storage benchmarks. 项目地点: https://gitcode.com/gh_mirrors/fi/FioSynth
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |