- Introduction to FreeBSD Security Best Practices
- Working with Package Management in FreeBSD
- Understanding FreeBSD Security Advisories and Updates
- Troubleshooting Common System Administration Issues in FreeBSD
- Tips for Hardening FreeBSD to achieve System Protection
- Setting Up DHCP Server in FreeBSD
- Secure User and Group Management in FreeBSD Systems
- Secure Remote Access with SSH in FreeBSD
- Optimizing System Performance in FreeBSD
- Network Packet Capture with tcpdump in FreeBSD
- All posts ...
Do you have GDPR compliance issues ?
Check out Legiscope a GDPR compliance software, that will save you weeks of work, automating your documentation, the training of your teams and all processes you need to keep your organisation compliant with privacy regulations
Jul 20, 2023
General purpose storage I/O benchmarking tool
Iorate is a general purpose storage I/O benchmarking tool.
Iorate was created in 1997 by Vince Westin of EMC while working with Cliff Burrell of FedEx to fill a need to perform a set of storage I/O benchmarks. Though Iorate was developed by EMC staff with EMC resources there are no EMC-specific pieces to the testing, it just tests storage.
In the realm of performance troubleshooting and benchmarking, tools that can measure the performance and throughput of a system are vital. In FreeBSD, one such utility falls under the “benchmarks” category of the ports collection—the IOrate FreeBSD port. As a disk I/O benchmarking utility, IOrate shines with both its simplicity and flexibility, making it indispensable for FreeBSD users who wish to monitor their system’s I/O capabilities under varying workloads.
The IOrate port on FreeBSD is designed to provide a robust framework for comparing and contrasting the performance of different storage systems. This utility is particularly versatile, working effectively with not just local disk drives but also with networked systems like Network File System NFS and Common Internet File System CIFS. This makes IOrate a valuable tool for individuals looking to benchmark their storage system or troubleshoot performance issues related to disk I/O.
Installing IOrate on FreeBSD
Installing IOrate on a FreeBSD system is a straightforward process, thanks to the ports collection. Unless already done, first update your ports tree with the following command
# portsnap fetch update
After ensuring that the ports tree is up-to-date, navigate to the location of the IOrate port.
# cd /usr/ports/benchmarks/iorate/
To install, run the following command
# make install clean
Upon completion, you’ll find the IOrate tool ready for use.
Using IOrate for Disk Benchmarking
IOrate uses various workloads to simulate the demands placed on a disk I/O subsystem during different types of operations. By default, the
iorate command will create a workload file in the current directory. To specify a different location or multiple locations, provide them as arguments to the command. For instance, to benchmark the disk I/O of two different directories, use
# iorate /path/to/directory1 /path/to/directory2
IOrate displays comprehensive real-time stats as it runs, including read/write operations per second, kilobytes read/written per second, average response time, max response time, and percentage of CPU usage. This level of sophisticated output makes IOrate a prime choice for benchmarking disk I/O.
One of IOrate’s strengths is its robust range of options that let you tailor it to your specific use case. Notable among these options, the
-i parameter allows you to set the intensity of the load on the disk I/O subsystem
# iorate -i 100 /path/to/directory1
-f option lets you specify specific workload files
# iorate -f workloadfile /path/to/directory1
Complementing IOrate with other FreeBSD Ports
While IOrate is an excellent tool for disk I/O benchmarking, other FreeBSD ports can aid in fully profiling a FreeBSD system’s performance. For network profiling, consider tools like nmap [
nmap]https//freebsdsoftware.org/security/nmap.html that help qualify and quantify network security and performance. For CPU benchmarking, ports like
sysbench can offer valuable insights. The robust FreeBSD ports collection affords users with a wide range of utilities for assessing and addressing system performance.
IOrate on FreeBSD provides a powerful and versatile tool for disk I/O benchmarking. Its lightweight yet extensive functionality allows for detailed profiling of storage systems, whether local or networked. Coupled with the wider suite of benchmarking tools available in the FreeBSD ports collection, FreeBSD users are well-armed to analyze and optimize their systems with precision. Whether you’re a FreeBSD novice or a seasoned system administrator, understanding and utilizing tools like IOrate can vastly improve your FreeBSD experience.
Checkout these related ports:
- Wrk - Modern HTTP benchmarking tool
- Webbench - Simple forking web benchmark
- Vkpeak - Profile Vulkan devices to find their peak capacities
- Vkoverhead - Evaluate CPU overhead of Vulkan drivers
- Vkmark - Vulkan benchmark
- Vegeta - HTTP load testing tool and library
- Uperf - Network performance tool to model and replay of networking patterns
- Unixbench - BYTE magazine's Public Domain benchmark for UNIX
- Uica - Code Analyzer from the uops.info project
- Ubench - Unix Benchmark Utility for CPU(s) and memory
- Typometer - Text/code editor typing latency analyzer
- Ttcp - Benchmarking tool for analysing TCP and UDP performance
- Tsung - Multi-protocol distributed load testing tool
- Thrulay - Network capacity tester
- Tcpblast - Measures the throughput of a TCP connection