You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
David Hill edited this page Mar 3, 2016
·
2 revisions
iogen is a lightweight tool that generates heavily fragmented I/O. It accomplishes this by forking a number of children that run I/O to a filesystem.
This tool is intended to test storage stacks under stress and worst case scenarios. However due to heavy fragmentation of the I/O files, it tends to "bypass" caching algorithms in hardware storage stacks.
Although the algorithm for I/O generation is incredibly simple, it has proven to be very effective at bringing out issues in storage stacks. It first grows the initial file a minimal amount to be able to start running I/O in it. After the initial growth, it reads randomly within the current file size. Every run is a distribution between reads and writes which is governed by the read percentage value. The file is grown sequentially until it reaches maximum file size. Whenever this happens a message is logged to syslogd(8) and all writes become random.