From 4e5fa322773641600ef53b17fb30f13bc0e98e72 Mon Sep 17 00:00:00 2001 From: GuangJie1 Date: Fri, 27 Jun 2025 16:02:18 +0800 Subject: [PATCH] add fio readme --- Others/fio/README.md | 47 ++++++++++++++++++++++++++++ Others/fio/doc/image-info.yml | 53 ++++++++++++++++++++++++++++++++ Others/fio/doc/picture/logo.png | Bin 0 -> 6952 bytes 3 files changed, 100 insertions(+) create mode 100644 Others/fio/README.md create mode 100644 Others/fio/doc/image-info.yml create mode 100644 Others/fio/doc/picture/logo.png diff --git a/Others/fio/README.md b/Others/fio/README.md new file mode 100644 index 00000000..0418c5f1 --- /dev/null +++ b/Others/fio/README.md @@ -0,0 +1,47 @@ +# Quick reference + +- The official FIO docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative). + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community). + +# FIO | openEuler +Current FIO docker images are built on the [openEuler](https://repo.openeuler.org/). This repository is free to use and exempted from per-user rate limits. + +FIO was originally written to save me the hassle of writing special test case programs when I wanted to test a specific workload, either for performance reasons or to find/reproduce a bug. The process of writing such a test app can be tiresome, especially if you have to do it often. Hence I needed a tool that would be able to simulate a given I/O workload without resorting to writing a tailored test case again and again. + +# Supported tags and respective Dockerfile links +The tag of each `fio` docker image is consist of the version of `fio` and the version of basic image. The details are as follows + +| Tag | Currently | Architectures | +|----------|-------------|------------------| +|[3.40-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/fio/3.40/24.03-lts-sp1/Dockerfile)| FIO 3.40 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +# Usage +In this usage, users can select the corresponding `{Tag}` based on their requirements. + +- Run with an interactive shell + + To perform a simple disk I/O benchmark using FIO inside a Docker container: + ``` + docker run -it --rm --privileged openeuler/fio:{Tag} bash + ``` + +- Basic random read test + + Run this minimal FIO test inside the container: + ``` + fio --name=quick_test \ + --rw=randread \ # Random read pattern + --size=100M \ # Test file size (reduced to 100MB) + --bs=4k \ # 4KB block size + --numjobs=1 \ # Single thread (simplified test) + --runtime=10s \ # Test duration (reduced to 10 seconds) + --filename=/data/testfile \ # Test file location + --ioengine=libaio \ # Asynchronous I/O engine + --group_reporting # Consolidated output + ``` + +# Question and answering +If you have any questions or want to use some special features, please submit an issue or a pull request on [openeuler-docker-images](https://gitee.com/openeuler/openeuler-docker-images). \ No newline at end of file diff --git a/Others/fio/doc/image-info.yml b/Others/fio/doc/image-info.yml new file mode 100644 index 00000000..1f25eddf --- /dev/null +++ b/Others/fio/doc/image-info.yml @@ -0,0 +1,53 @@ +name: fio +category: others +description: FIO 是一款强大的 存储性能测试工具,用于精确测量磁盘、SSD、网络存储等设备的 I/O 性能。它支持多种 I/O 模式、多线程测试,并能生成详细的性能报告,是存储行业的标准基准测试工具之一。 +environment: | + 本应用在Docker环境中运行,安装Docker执行如下命令 + ``` + yum install -y docker + ``` +tags: | + fio镜像的Tag由其版本信息和基础镜像版本信息组成,详细内容如下 + + | Tag | Currently | Architectures | + |----------|-------------|------------------| + |[3.40-oe2403sp1](https://gitee.com/openeuler/openeuler-docker-images/blob/master/Others/fio/3.40/24.03-lts-sp1/Dockerfile)| FIO 3.40 on openEuler 24.03-LTS-SP1 | amd64, arm64 | + +download: | + 拉取镜像到本地 + ``` + docker pull openeuler/fio:{Tag} + ``` + +usage: | + - 以交互式Shell运行容器: + + 通过交互式 Shell 启动容器,使用fio命令: + ``` + docker run -it --rm openeuler/fio:{Tag} bash + ``` + + - 基础随机读测试 + + 基础随机读测试(10秒,单线程,100MB文件) + ``` + fio --name=quick_test \ + --rw=randread \ + --size=100M \ # 测试文件大小降为100MB + --bs=4k \ + --numjobs=1 \ # 单线程简化测试 + --runtime=10s \ # 缩短测试时间 + --filename=/data/testfile \ + --ioengine=libaio \ + --group_reporting + ``` + +license: GPL-2.0 license +similar_packages: + - sysbench: 综合测试工具(CPU/内存/磁盘/数据库)。 +dependency: + - zlib + - openssl + - libaio + - cairo + - gtk3 diff --git a/Others/fio/doc/picture/logo.png b/Others/fio/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..3ffab279e621642b6b20618226c887ea0e182525 GIT binary patch literal 6952 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 X*TBU|nY+IM@!7uBX3GOJZsh+1itXz; literal 0 HcmV?d00001 -- Gitee