Configurable ZFS Read and Write Throughput Limits
The Oracle Solaris 11.4 release provides the ability to limit a ZFS file system's reads and writes to disk. You can enable a read or write limit on a ZFS file system by setting the readlimit and writelimit properties, in units of bytes per second. Using these features allow you to optimize ZFS I/O resources in a multitenant environment.
defaultreadlimit properties are added to increase the manageability of a large number of ZFS file systems. If
defaultreadlimit properties are set, all file system descendants inherit the assigned value. If you apply the default read or write limit to ZFS file system, it is only applied to descendant file systems, and not to the file system itself. The read-only
effectivewritelimit properties are added to provide a view of what the effective limit is on a file system. The reported effective limit is the lowest data limit at any point between the parent and the indicated file system.
For example, you would set read and write limits as follows:
# zfs set writelimit=500mb pond/apps/web # zfs set readlimit=200mb pond/apps/logdata
The following example shows how to display read and write limits:
# zfs get -r writelimit,readlimit pond/apps NAME PROPERTY VALUE SOURCE pond/apps writelimit default default pond/apps readlimit default default pond/apps/logdata writelimit default default pond/apps/logdata readlimit 200M local pond/apps/web writelimit 500M local pond/apps/web readlimit default default pond/apps/web/tier1 writelimit default default pond/apps/web/tier1 readlimit default default
You can display the effective write limit as follows:
# zfs get effectivewritelimit pond/apps/web NAME PROPERTY VALUE SOURCE pond/apps/web effectivewritelimit 500M local
For more information, see Managing ZFS File Systems in Oracle Solaris 11.4.
Read the entire article on the upcoming features in Oracle Solaris 11.4 (PDF).