awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
axboe avatar

axboe/fio

0
View on GitHub↗
6,268 stars·1,413 forks·C·GPL-2.0·19 views

Fio

fio is a storage performance benchmarking tool and synthetic I/O workload generator. It functions as a storage device profiler and I/O trace replay engine, enabling the measurement of throughput and latency for storage devices and file systems.

The project is distinguished by its ability to act as a distributed storage stress tester, managing multiple remote server backends via a single controller to evaluate network storage. It also includes specialized capabilities for storage deduplication analysis by generating redundant data buffers to test the efficiency of deduplication subsystems.

The tool covers a broad range of capabilities, including the simulation of complex I/O workloads with controllable block sizes and I/O depth, the analysis of CPU idleness, and the collection of device statistics. It provides observability through performance metric visualization, latency histograms, and steady-state monitoring.

Workloads can be triggered via command line arguments or detailed configuration files to automate complex benchmarking scenarios.

Features

  • Disk I/O Benchmarking - The Distributed I/O Stress Tester measures storage throughput and latency by running configurable job files or command line parameters.
  • Storage Performance Benchmarking - Executes controlled read and write workloads to measure throughput and latency for storage devices and file systems.
  • Synthetic I/O Workload Generators - Provides a framework for simulating complex storage patterns including random reads, writes, and data deduplication scenarios.
  • Distributed Socket Execution - Manages remote benchmarking clients via network sockets to execute coordinated workloads across multiple machines.
  • Remote Socket Management - Controls the connectivity and execution of remote test clients across a cluster using network sockets.
  • Block Size Specifications - The Distributed I/O Stress Tester sets fixed or ranged block sizes for I/O units and allows weighted distribution of sizes within a workload.
  • High Performance I/O Engines - Provides a common API abstraction layer to support diverse I/O engines and various operating systems.
  • I/O Trace Replay Engines - Reproduces real-world storage traffic by replaying recorded block-level I/O logs against a device.
  • Disk I/O Performance Analysis - Tracks I/O operations and sector counts by reading system block statistics to evaluate storage performance.
  • Storage Device Profilers - Analyzes disk utilization and identifies performance bottlenecks through detailed latency histograms and bandwidth logs.
  • System Statistics Collection - Reads system-level storage metrics such as IO ticks and queue time to track device performance.
  • Distributed Storage Testing - Runs coordinated performance benchmarks across multiple remote servers using a single controller to evaluate network storage.
  • Configurable I/O Workloads - Runs storage tests based on workload specifications defined in configuration files or command line arguments.
  • I/O Access Pattern Simulation - The Distributed I/O Stress Tester selects which file to service next using strategies such as uniform random, round-robin, or sequential distributions.
  • Queue Depth Control - The Distributed I/O Stress Tester manages the number of I/O units kept in flight and defines batch limits to test queue performance.
  • I/O Job Specifications - Uses job files to specify global and thread-specific parameters required to simulate a complex I/O load.
  • I/O Trace Replay - Provides an I/O trace replay engine to reproduce real-world storage traffic from recorded logs.
  • Workload Stress Testers - Triggers complex synthetic I/O workloads and stress tests using direct command line arguments.
  • Steady State Detection - Tracks performance over a rolling window and terminates the job once IOPS or latency stabilizes.
  • Storage Deduplication Simulation - Generates unique data buffers and repeats them across a workload to test how systems handle redundant data.
  • Synthetic I/O Workload Generation - Generates synthetic random or sequential data patterns to test how storage hardware handles specific traffic profiles.
  • System Performance Benchmarking Tools - Measures the throughput and latency of storage devices and file systems using synthetic workloads.
  • Distributed Benchmark Suites - Manages a controller client that orchestrates multiple server backends to execute benchmarks across remote machines.
  • Storage Deduplication - Generates redundant data buffers to test the efficiency and performance of storage deduplication subsystems.
  • I/O Rate Limiting - The Distributed I/O Stress Tester caps the maximum bandwidth or IOPS and exits the job if minimum performance thresholds are not met.
  • Resource Group Constraints - The Distributed I/O Stress Tester assigns threads to specific control groups to constrain or prioritize disk I/O performance during benchmarks.
  • Performance Metric Aggregators - The Distributed I/O Stress Tester combines output from multiple connections into a single report to simplify analysis across grouped workloads.
  • Benchmark Thread Synchronization - Coordinates execution between threads using semaphores to ensure accurate parallel measurement of storage performance.
  • Automation Job Coordination - Schedules jobs using start delays and runtime caps to ensure tasks finish in a specific, coordinated order.
  • Configuration File Loading - Provides mechanisms to load and parse complex benchmark configurations from external files or standard input.
  • CPU Core Timing Offloading - Offloads clock updates to a dedicated core to minimize timing overhead and maximize measurement accuracy.
  • Buffer Pattern Generation - Fills buffers with patterns or random data and controls deduplication levels to test storage efficiency.
  • I/O Trace Analysis - Reads and merges block-level I/O trace files to verify storage performance against device behavior.
  • File System Access Patterns - The Distributed I/O Stress Tester informs the operating system about intended access patterns of a file to improve read-ahead and caching behavior.
  • Deduplication Data Generators - Generates repeatable data buffers with specific deduplication levels to test storage compression and efficiency.
  • Precision Benchmarking Timers - The Distributed I/O Stress Tester tracks elapsed time using the most precise available clock source to ensure accurate performance benchmarking.
  • CPU Idleness Analysis - Measures CPU overhead by running idle-priority threads to derive the actual idleness of each processor.
  • CPU Idleness Tracking - Tracks the time CPUs spend idle during execution to differentiate between storage latency and system inactivity.
  • Rolling Window Analysis - Monitors IOPS and latency over a moving time window to detect when the storage device reaches a steady state.
  • Metric and Performance Monitors - Generates graphical representations of storage data using axes and labels to analyze benchmark results.
  • Performance Visualization - Generates bar and line graphs from collected data using custom labels and scaling to represent metrics.
  • Batch Workload Execution - Runs multiple performance tests in sequence by processing a series of job definitions from a file.
  • Physical Data Placement Mapping - The Distributed I/O Stress Tester maps data to physical storage locations using stream IDs or predefined schemes to benchmark specialized drives.
  • Warm-up Period Management - The Distributed I/O Stress Tester controls the initial ramp-up phase of a workload to ensure measurements occur only after reaching a steady state.
  • System Idle Time Measurement - Calculates the time required to complete units of work across multiple CPUs to profile system idle time.
  • Data Integrity Checksums - Writes checksums or patterns to blocks and verifies them during reads to ensure data has not been corrupted.
  • Data Placement Strategy Testing - The Distributed I/O Stress Tester determines which placement identifier to use for I/O operations using random, round-robin, or scheme-based selection.
  • I/O Flow Control - The Distributed I/O Stress Tester regulates the volume of data moving through a job by monitoring thresholds and weights to prevent saturation.
  • Performance Metric Exports - Outputs results in human-readable, JSON, or semicolon-separated formats including latency histograms and bandwidth logs.
  • Flow Throttling - The Distributed I/O Stress Tester stalls threads or processes based on a weight-to-counter ratio to maintain a proportional distribution of IO.
  • Network Testing - Flexible I/O tester for storage performance.

Star history

Star history chart for axboe/fioStar history chart for axboe/fio

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Fio

These projects share indexed features with Fio. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • masonr/yet-another-bench-scriptmasonr avatar

    masonr/yet-another-bench-script

    6,520View on GitHub↗

    This project is a Linux server benchmarking script written in Bash. It serves as a system for evaluating CPU, disk, and network performance by orchestrating a set of standardized diagnostic tools. The script integrates specialized utilities to measure storage throughput and latency across various block sizes, compute hardware scores for processor performance, and test network upload and download speeds using parallel connections. It is designed to generate comparative hardware reports and evaluate total network capacity across global locations. The tool includes a mechanism for exporting all

    Shellbashbench-scriptbenchmark
    View on GitHub↗6,520
  • htop-dev/htophtop-dev avatar

    htop-dev/htop

    8,126View on GitHub↗

    htop is a terminal-based system resource monitor and interactive process viewer. It functions as a text-user interface dashboard for overseeing hardware temperatures, load averages, and battery status while providing a comprehensive tool for monitoring and managing system processes. The application distinguishes itself through detailed process lifecycle management, allowing users to kill processes, adjust priorities via renicing, and assign CPU affinity to specific cores. It provides high-level visibility into system behavior through process hierarchy visualization and the ability to inspect

    C
    View on GitHub↗8,126
  • netdata/netdatanetdata avatar

    netdata/netdata

    79,176View on GitHub↗

    Netdata is a distributed observability platform designed for real-time infrastructure monitoring and performance tracking. It functions as a high-frequency agent that collects system, container, and application metrics with per-second precision, providing both local visualization and centralized aggregation across complex, multi-cloud environments. The platform distinguishes itself through edge-based intelligence, utilizing local machine learning models to automatically detect performance anomalies without requiring manual configuration or external query engines. Its architecture prioritizes

    Caialertingcncf
    View on GitHub↗79,176
  • buildbot/buildbotbuildbot avatar

    buildbot/buildbot

    5,452View on GitHub↗

    Buildbot is a Python-based continuous integration framework and distributed build orchestrator. It functions as a build automation engine that coordinates the retrieval of source code, the execution of build steps, and the reporting of results through a central controller and a network of remote worker agents. The system is distinguished by a plugin-based extensibility architecture and a master-worker distribution model. It allows for dynamic build modification at runtime and supports a pluggable database backend for persisting system state and historical build data. The project covers a bro

    Python
    View on GitHub↗5,452
Compare all 30 related projects→

Frequently asked questions

What does axboe/fio do?

fio is a storage performance benchmarking tool and synthetic I/O workload generator. It functions as a storage device profiler and I/O trace replay engine, enabling the measurement of throughput and latency for storage devices and file systems.

What are the main features of axboe/fio?

The main features of axboe/fio are: Disk I/O Benchmarking, Storage Performance Benchmarking, Synthetic I/O Workload Generators, Distributed Socket Execution, Remote Socket Management, Block Size Specifications, High Performance I/O Engines, I/O Trace Replay Engines.

Which projects share features with axboe/fio?

Projects with overlapping indexed features include: masonr/yet-another-bench-script — This project is a Linux server benchmarking script written in Bash. It serves as a system for evaluating CPU, disk,… htop-dev/htop — htop is a terminal-based system resource monitor and interactive process viewer. It functions as a text-user interface… netdata/netdata — Netdata is a distributed observability platform designed for real-time infrastructure monitoring and performance… uptrace/uptrace — Uptrace is an OpenTelemetry-based observability platform designed to collect, store, and analyze distributed traces,… buildbot/buildbot — Buildbot is a Python-based continuous integration framework and distributed build orchestrator. It functions as a… flightlessmango/mangohud — MangoHud is a Linux hardware monitor and performance overlay that displays real-time metrics and frame rates. It…