diff --git a/README.md b/README.md index 77e6520..28379ee 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,48 @@ # ioztat ioztat is a storage load analysis tool for OpenZFS. It provides iostat-like statistics at an individual dataset/zvol level. + +The statistics offered are read and write operations per second, read and write throughput per second, and the average size (in kilobytes) of read and write operations issued in the current reporting interval. Viewing these statistics at the individual dataset level allows system administrators to identify storage "hot spots" in larger multi-tenant systems--particularly those with many VMs or containers operating essentially independent workloads. + +This sample output shows activity which has taken place in the most recent second, on a the `ssd` zpool of a ZFS virtualization host: + +```` +root@redacted-prod0:~# ioztat -y -c1 ssd +dataset w/s wMB/s r/s rMB/s wareq-sz rareq-sz +ssd 0.00 0.00 0.00 0.00 0.00 0.00 + images 0.00 0.00 0.00 0.00 0.00 0.00 + DC1 17.96 0.10 3.99 0.05 5.66 12.29 + DC2 21.95 0.14 0.00 0.00 6.59 0.00 + QB 2.00 0.01 0.00 0.00 7.17 0.00 + SAP-TC 2.99 0.02 0.00 0.00 6.83 0.00 + SAP4-WIN2019 2.99 0.05 0.00 0.00 17.07 0.00 + nagios 0.00 0.00 0.00 0.00 0.00 0.00 + qemu 0.00 0.00 0.00 0.00 0.00 0.00 + autostart 0.00 0.00 0.00 0.00 0.00 0.00 + iso 0.00 0.00 0.00 0.00 0.00 0.00 + unsnapped 0.00 0.00 0.00 0.00 0.00 0.00 + rp9 0.00 0.00 0.00 0.00 0.00 0.00 +```` + +For the most part, `ioztat` behaves the same way that the system standard `iostat` tool does, with similar arguments. + +```` +usage: ioztat [-h] [-s SORT] [-i INTERVAL] [-c COUNT] [-y] [-b] + pool [pool ...] + +iostat for ZFS datasets + +positional arguments: + pool ZFS pool + +optional arguments: + -h, --help show this help message and exit + -s SORT Sort by: name / wps / wMBps / rps / rMBps + -i INTERVAL Time between each report + -c COUNT Number of reports generated + -y Skip the initial "summary" report + -b Use binary (power-of-two) prefixes + ```` + +The only required argument is the name of at least one zpool to monitor. Without any other arguments, `ioztat` first prints a summary record showing activity per dataset since the most recent system boot, then prints a new record showing the most recent activity once per second. The `-i` argument can be used to change the report interval, and the `-c` argument can be used to limit `ioztat` to a certain number of intervals before exiting. + +For those who wish a continually-updated, easy to read summary of pool activity, `watch -n1 ioztat poolname -c1 -y` will suit nicely.