FioSynth 项目使用教程

打印 上一主题 下一主题

主题 996|帖子 996|积分 2988

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 项目标目录结构如下:
  1. FioSynth/
  2. ├── fiosynth_lib/
  3. ├── jobfiles/
  4. ├── tests/
  5. ├── wkldsuites/
  6. ├── .gitignore
  7. ├── CODE_OF_CONDUCT.md
  8. ├── CONTRIBUTING.md
  9. ├── LICENSE
  10. ├── MANIFEST.in
  11. ├── README-READHAMMER.txt
  12. ├── README.md
  13. ├── Release_Notes.txt
  14. ├── fiosynth.py
  15. ├── packman.yml
  16. ├── setup.cfg
  17. ├── setup.py
  18. ├── smartAll.sh
  19. ├── test-requirements.txt
  20. └── 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 的核心入口,负责启动和实验存储工作负载的主动化测试。
启动文件功能



  • 工作负载实验: 根据配置文件实验不同的存储工作负载。
  • 结果收集: 主动收集息争析测试结果。
  • 日志记载: 记载测试过程中的日志信息。
启动下令

  1. 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 是项目标配置文件,用于定义安装和打包的配置。以下是一些常见的配置项:
  1. [metadata]
  2. name = FioSynth
  3. version = 1.0.0
  4. description = Tool which enables the creation of synthetic storage workloads, automates the execution and results collection of synthetic storage benchmarks.
  5. author = Facebook Incubator
  6. license = MIT
  7. [options]
  8. packages = find:
  9. install_requires =
  10.     python-dateutil
  11.     fio
复制代码
jobfiles/

jobfiles/ 目录下的配置文件用于定义详细的存储工作负载。每个配置文件通常是一个 JSON 格式的文件,包含以下内容:
  1. {
  2.     "run_cycles": 3,
  3.     "precondition_cycles": 2,
  4.     "devices_in_global": "Y",
  5.     "workloads": [
  6.         {
  7.             "template": "fio_jobfile.fio",
  8.             "alias": "LE_Flash",
  9.             "TIME": 300,
  10.             "BLKSIZE": 4096,
  11.             "DEPTH": 16,
  12.             "RRATE": 1000,
  13.             "SIZE": "100%",
  14.             "W1THINK": 0,
  15.             "W2THINK": 0,
  16.             "W3THINK": 0,
  17.             "W4THINK": 0
  18.         }
  19.     ]
  20. }
复制代码


  • 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企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表