diff --git a/Others/fio/README.md b/Others/fio/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0418c5f1de751cff8b009b186bbb784b440f31a9 --- /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 0000000000000000000000000000000000000000..1f25eddffc96a0c6bcc397d4fd08989473f8d04e --- /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 Binary files /dev/null and b/Others/fio/doc/picture/logo.png differ