fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 19 different types of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more), I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, and much more. It can work on block devices as well as files. fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. fio displays all sorts of I/O performance information, including complete IO latencies and percentiles. Fio is in wide use in many places, for both benchmarking, QA, and verification purposes. It supports Linux, FreeBSD, NetBSD, OpenBSD, OS X, OpenSolaris, AIX, HP-UX, Android, and Windows.
いくつかのビルドの問題はどこ CC との問題をオーバーライドまたは CPU クロックのサポートが不足してコンパイルを破るだろういくつかの選択プラットフォームで修正されました。サイズの設定 = zipf/パレート ワークロードを修正しました。CPU クロックの数学フローティングをスピード アップ、改善し、オーバーヘッドを削減さらに。潜在的な null ポインター逆参照 IO の検証とキューのイベントを修正しました。
A few build issues were fixed on a few select platforms, where issues with CC override or missing CPU clock support would break compilation. Setting of size= for zipf/pareto workloads was fixed. Floating math for CPU clock was sped up and improved, further reducing overhead. A potential null pointer dereference on IO verification and requeue events was fixed.
Android platform support was added. Memory consumption on Windows when using many files was reduced. Support for non-uniform random IO was added, using pareto/zipf distributions. A faster LFSR random generator was provided. Various fixes and improvements were made in the network engine. Ping-pong network IO is now supported. The default clock was sped up, and accuracy of the CPU clock was improved. A potential bi-modal performance issue on Linux with multiple processes and O_DIRECT was fixed. A timekeeping race bug with threads was fixed. NUMA job and memory control options were added. A bug in the CPU load engine was fixed. There were various other fixes and improvements.
This release updates the Windows port, which is now full 64-bit using MingGW instead of Cygwin. It has support for token-based flow control between jobs. It fixes disk slave output in terse output format. It fixes attempts to switch zones without zones enabled, which caused verify failure. It adds checksums to verify headers, to be able to verify those separately on load from disk. Speedup pattern verification. A fix for not calculating latency statistics when doing read verifies. A fix for logging of IOPS and BW on mixed workloads. This release merges crc32c and crc32c-intel verify formats, and will always use hardware-assisted crc32c if available.
フロント エンドとバックエンドを分割、大幅な見直しが実施されました。サーバーとクライアントとして今 Fio を実行することができます、複数のマシンでジョブを制御する 1 つのクライアントからは。安価でシンプルなデータ スクランブル今デフォルトで SSD 圧縮/重複の敗北に使用されます。完了待機時間のパーセン タイルのサポートが追加されました。簡潔な出力形式は、バージョン 3、ディスクの使用率、IOPS、および待機時間の刻みを追加しました。パターンが確認されたを早めた。様々 な修正は FreeBSD、Windows、HP-UX の Mac OS X、および AIX の含まれていた。
A major overhaul was undertaken, splitting the front and back ends. Fio can now be run as a server and a client, and it is possible to control jobs on multiple machines from a single client. Cheap and simple data scrambling is now used by default to defeat SSD compression/de-duplication. Completion latency percentile support was added. The terse output format was revised to version 3, adding disk utilization, IOPS, and latency percentiles. Pattern verifies were sped up. Various fixes were included for FreeBSD, Windows, HP-UX, Mac OS X, and AIX.
This release adds an RDMA IO engine, adds support for direct userspace reaping of completed events with libaio IO engine, ensures that bool options also work if given a parameter, adds support for "holed" IO patterns, fixes a latency reporting bug, fixes a disk utilization bug for delayed jobs, adds resolution support to fio_generate_plots, fixes summed computation of standard deviation, adds completion latency percentile support, and fixes lots of other minor bugs.