系統的壓力測試工具 - fio 2.0.10 發布
fio是一個非常靈活的io測試工具,他可以通過多線程或進程模擬各種io操作
隨著塊設備的發展,特別是SSD盤的出現,設備的并行度越來越高。要想利用好這些設備,有個訣竅就是提高設備的iodepth, 一次喂給設備更多的IO請求,讓電梯算法和設備有機會來安排合并以及內部并行處理,提高總體效率。
應用程序使用IO通常有二種方式:同步和異步。 同步的IO一次只能發出一個IO請求,等待內核完成才返回,這樣對于單個線程iodepth總是小于1,但是可以通過多個線程并發執行來解決,通常我們會用16-32個線程同時工作把iodepth塞滿。 異步的話就是用類似libaio這樣的linux native aio一次提交一批,然后等待一批的完成,減少交互的次數,會更有效率。
發布日志: Support for trim as a primary IO directive, the addition of the JSON output format for easy parsing by both humans and computers, and fixes for a Solaris compilation error, gettid on NetBSD, Windows XP/2003 compatibility, engine starvation for extraordinarily long latencies, and fallocate(), netio compatibility, and support for SIGBREAK. The critical error list is now configurable. Three new IO engines were provided: falloc, e4defrag, and Fusion-io atomic write engine. A new sample job file was provided for SSD steady state performance. A segfault race on exit on non-Linux platforms was fixed. There were various other bugfixes and improvements。
下載: http://brick.kernel.dk/snaps/fio-2.0.10.tar.bz2.