Calculating queue depth
You might need to tune your FC queue depth on the host to achieve the maximum values for ITNs per node and FC port fan-in. The maximum number of LUNs and the number of HBAs that can connect to an FC port are limited by the available queue depth on the FC target ports.
About this task
Queue depth is the number of I/O requests (SCSI commands) that can be queued at one time on a storage controller. Each I/O request from the host's initiator HBA to the storage controller's target adapter consumes a queue entry. Typically, a higher queue depth equates to better performance. However, if the storage controller's maximum queue depth is reached, that storage controller rejects incoming commands by returning a QFULL response to them. If a large number of hosts are accessing a storage controller, you should plan carefully to avoid QFULL conditions, which significantly degrade system performance and can lead to errors on some systems.
In a configuration with multiple initiators (hosts), all hosts should have similar queue depths. Because of the inequality in queue depth between hosts connected to the storage controller through the same target port, hosts with smaller queue depths are being deprived of access to resources by hosts with larger queue depths.
The following general recommendations can be made about tuning
queue depths:
For small to mid-size systems, use an HBA queue depth of 32.
For large systems, use an HBA queue depth of 128.
For exception cases or performance testing, use a queue depth of 256 to avoid possible queuing problems.
All hosts should have the queue depths set to similar values to give equal access to all hosts.
To avoid performance penalties or errors, the storage controller target FC port queue depth must not be exceeded.