Solaris 11.1 ZFS Write Performance Degradation on Storage Devices That Support the SCSI UNMAP Command

Description
Solaris 11.1 introduced the support for ATA TRIM, SCSI Write Same/UNMAP. However, some storage devices take a long time to execute the UNMAP command. This causes performance issues for random write workloads against a ZFS pool built on such devices.

Occurrence
This issue can occur in the following releases:

SPARC Platform:

•Solaris 11.1 without SRU 3.4
x86  Platform:


•Solaris 11.1 without SRU 3.4
Note: Solaris 8, 9, 10 and 11 are not impacted by this issue.

Systems are only affected by this issue if a ZFS pool uses storage devices that support the SCSI/UNMAP feature. To determine if a system uses such devices, execute the following command as 'root':

    # echo '*sd_state::walk softstate| \
     ::print struct sd_lun un_f_is_trim_supported'|mdb -k

A non-zero value will indicate the system is using one of these devices.

Symptoms
Should the described issue occur, the system will experience performance degradation, usually manifested as a small number of write IOPS. In some cases, warning messages similar to the following may be displayed on the console and appear in the messages file:

    Disconnected command timeout for Target XXXWorkaround
To work around this issue, execute the following commands as 'root':

    # echo "zfs_unmap_ignore_size/W 0"|mdb -kw

    # echo "set zfs:zfs_unmap_ignore_size=0" >> /etc/system
A reboot is not necessary for this change to take effect.

This issue is addressed in the following releases:

SPARC Platform:

•Solaris 11.1 SRU 3.4 or later
x86  Platform:


•Solaris 11.1 SRU 3.4 or later

Comments

Popular posts from this blog

Understanding How ZFS Calculates Used Space

Restart autosys agent

How To Verify Remote System Controller (RSC) is Configured and Current on Sun Fire[TM] 280R/V480/V490/V880/V890 servers