Run quick, repeatable IO benchmarks to quantify filesystem performance with fio and learn how to interpret the results. 24.11.2025 | reading time: 3 min fio is a flexible, scriptable IO workload generator that lets the user create realistic synthetic tests to measure filesystem and block device performance in situ. Quick test in one command Run a pragmatic mixed random workload with one command to get immediate numbers then inspect IOPS bandwidth and latency for reads and writes in the group report for interpretation ```fio --name=randrw --rw=randrw --rwmixread=75 --bs=4k --numjobs=4 --iodepth=32 --size=1G --direct=1 --runtime=60 --time_based --group_reporting --filename=/tmp/fio-test.img``` Sample group summary typically shows read IOPS and BW and average latency and write IOPS and BW and latency for the workload for example read IOPS=12000 BW=46.9MiB/s avg_lat=3.2ms write IOPS=3800 BW=14.8MiB/s avg_lat=10.2ms which you then use to compare configurations. Interpretation and important knobs Pay attention to the knobs that change test behavior because raw numbers mean little without context so vary block size to match workloads using --bs change access pattern with --rw and --rwmixread scale concurrency with --numjobs and --iodepth and control caching with --direct and testing time with --runtime and --time_based; also prefer testing against a raw device or a dedicated test file and precondition the device when measuring steady state. Advanced options and parsing Use job files to compose complex scenarios and enable --output-format=json for machine parsing or --verify to validate data integrity and use --name and --group_reporting to correlate results across jobs; remember that buffered tests reflect filesystem cache while O_DIRECT shows device performance so test both to understand full stack behavior. Complementary observability tools fio gives numbers but system trace tools reveal causes so monitor concurrently with utilities such as iostat for IO stats blktrace or aio tracing for kernel IO sequences and perf or pidstat for CPU and context switch impacts to get a full picture. Try different setups Benchmark repeatedly change one variable at a time document your test commands and results and compare mount options filesystems and underlying media to draw conclusions and then practice on lab systems to build confidence and prepare for professional certification with focused training such as the intensive exam preparation at bitsandbytes.academy which helps those aiming for CompTIA Linux+ or LPIC-1. Join Bits & Bytes Academy First class LINUX exam preparation. filesystem utilities storage troubleshooting