Go to main content
Oracle® Solaris 11.3 カーネルのチューンアップ・リファレンスマニュアル

印刷ビューの終了

更新: 2016 年 11 月
 
 

ZFS デバイスの入出力キューの深さ

このセクションでは、ZFS の同時入出力プロセスに関連するパラメータについて説明します。

zfs_vdev_max_pending

説明

このパラメータは、各デバイスに対する保留中の同時入出力の最大数を制御します。

データ型

整数

デフォルト

10

範囲

0 から MAXINT

動的か

はい

検証

いいえ

どのような場合に変更するか

LUN が多数のディスクドライブで構成されるストレージアレイでは、ZFS キューが読み取り IOPS の制限要因となる可能性があります。この動作は、補助スピンドルが存在するかぎりできるだけ多くの LUN を ZFS ストレージプールに提供するというベストプラクティスの根拠の 1 つになります。つまり、10 個のディスクによるアレイレベルの RAID グループで LUN を作成した場合、5 から 10 個の LUN を使用してストレージプールを構築すると、ZFS は十分な入出力キューを管理できるようになり、この特定のチューニング可能パラメータを設定する必要はありません。

ただし、別個のインテントログが使用されておらず、プールが JBOD ディスクで構成されている場合は、ディスクリソースへの競合が発生しているため、小さい zfs_vdev_max_pending 値 (10 など) を使用すると、同期書き込みの待ち時間が改善される可能性があります。別々のインテントログデバイスを使用すると、これらの同期書き込みは、非同期書き込みの深いキューと競合しないため、同期書き込みを多用する負荷に対してこのパラメータをチューニングする必要性が軽減されます。

ボリュームが少数のスピンドルで構成されている場合、NVRAM ベースのストレージアレイでは、このパラメータをチューニングしても効果は期待されません。ただし、ZFS に提供されたボリュームが多数のスピンドル (10 を超える) で構成されている場合、このパラメータはボリュームで得られる読み取りスループットを制限する可能性があります。この理由は、LUN あたり最大 10 または 35 の入出力がキューに入るため、ストレージスピンドルあたりの入出力は 1 を下回ることになり、個々のディスクがそれらの IOPS を発揮するのに十分ではないためです。この問題は、iostat actv キュー出力が zfs_vdev_max_pending の値に近づいていることとして示されます。

デバイスドライバも、LUN あたりの未処理入出力数を制限することがあります。大量の並行 IOPS を処理できるストレージアレイ上で LUN を使用している場合、デバイスドライバの制約も並行性を制限することがあります。システムで使用しているドライバの構成を調べてください。たとえば、QLogic ISP2200、ISP2300、および SP212 ファミリ FCl HBA (qlc) ドライバの制限は、/kernel/drv/qlc.conf の execution-throttle パラメータとして説明されています。

コミットレベル

変更の可能性あり