Qu'est-ce que la profondeur de la file d'attente HBA Fibre Channel
La profondeur de la file d'attente indique le nombre de requêtes d'E/S « en cours », qui ont été demandées mais dont l'achèvement n'a pas encore été confirmé lors de la communication avec un stockage SAN. Ces requêtes peuvent être configurées par un seul numéro d'unité logique (LUN) accessible ou basé sur le HBA. La profondeur maximale de la file d'attente décrit la valeur des demandes autorisées à être en cours au maximum. Le paramètre de profondeur de file d'attente maximale peut influencer considérablement les performances de stockage.
La profondeur maximale de la file d'attente doit être choisie avec soin. Des valeurs faibles peuvent entraîner de mauvaises performances d'E/S. Des valeurs élevées peuvent également entraîner de mauvaises performances, car la cible SAN n'utilise pas les caches/la planification de manière optimale. Non seulement la profondeur de la file d'attente d'un seul HBA, mais la profondeur de la file d'attente de tous les HBA connectés à un port de stockage sur la cible SAN influencent les performances de chacun. Le fournisseur de la cible SAN peut avoir des recommandations sur la profondeur de file d'attente maximale à utiliser. D'autres facteurs pertinents sont :
- le nombre de ports HBA connectés à la cible
- le modèle d'E/S généré par les applications exécutées sur le système
Modification de la profondeur de la file d'attente de Qlogic HBA
Pour connaître la valeur de profondeur de file d'attente actuelle qdepth, exécutez la commande suivante :
# cat /sys/module/qla2xxx/parameters/ql2xmaxqdepth 32
L'exemple ci-dessus renvoie "32".
Pour définir/modifier la valeur de qdepth, sysfs peut être utilisé, il n'est pas nécessaire de décharger/charger le module. Ce qui suit modifie la profondeur ql2xmaxq :
# echo 16 > /sys/module/qla2xxx/parameters/ql2xmaxqdepth
Pour définir la valeur qdepth de manière à ce qu'elle soit également configurée après le redémarrage du système, modifiez la valeur de l'option ql2xmaxqdepth dans le pilote qla2xxx :
# modinfo qla2xxx | grep ql2xmaxqdepth parm: ql2xmaxqdepth:Maximum queue depth to set for each LUN. Default is 32. (int)
L'entrée suivante doit être ajoutée à /etc/modprobe.conf ou un fichier dans le répertoire /etc/modprobe.d et l'image initrd reconstruite pour rendre le changement permanent :
# vi /etc/modprobe.conf alias scsi_hostadapter1 qla2xxx options qla2xxx ql2xmaxqdepth=16CentOS / RHEL 6 :Comment reconstruire l'image initiale du disque RAM
Modification de la profondeur de la file d'attente d'Emulex HBA
Pour Emulex HBA, aucune modification dynamique de la profondeur maximale de la file d'attente n'est actuellement possible, il est nécessaire de décharger/charger le module avec de nouveaux paramètres ou de redémarrer l'ensemble du système. Emulex HBA prend en charge les options suivantes pour influencer la profondeur de la file d'attente :
# modinfo lpfc|grep queue_depth parm: lpfc_lun_queue_depth:Max number of FCP commands we can queue to a specific LUN (uint) parm: lpfc_hba_queue_depth:Max number of FCP commands we can queue to a lpfc HBA (uint)
Ces options peuvent être utilisées dans /etc/modprobe.conf ou un fichier dans le répertoire /etc/modprobe.d et l'image initrd reconstruite.
CentOS / RHEL 6 :Comment reconstruire l'image initiale du disque RAMLa valeur par défaut de lpfc peut également être vérifiée à partir de /sys/module/lpfc/parameters/ . Mais notez que ces valeurs ne peuvent pas être modifiées (pas d'autorisation "w")
# ls -lrt /sys/module/lpfc/parameters/ -r--r--r--. 1 root root 4096 May 19 13:55 lpfc_hba_queue_depth -r--r--r--. 1 root root 4096 May 19 13:55 lpfc_lun_queue_depth -r--r--r--. 1 root root 4096 May 19 13:55 lpfc_tgt_queue_depth