私は2014年のリソースガバナーとそれがボリュームにどのように関係しているかを見ています。リソースプールのどこにMAX | MIN IOPS PERVOLUMEを設定するかがわかります。これはボリュームによってキー設定されていませんが、sys.dm_resource_governor_resource_pool_volumesはキー設定されています。プールの定義はすべてのボリュームに適用されますが、DMVはそれぞれで実際に何が起こったかを報告するので、それを読む必要がありますか?
私の理解は次のとおりです。E、F、Gの3つのボリュームがあるとします。プールに最小= 10、最大= 300を設定します。その場合、プールの最大900に対して、各ドライブに対して最大300IOPSが存在する可能性があります。 DMVは、各ボリュームで実際に発生したIOを示します。アクティビティの大部分が1つのボリューム(たとえばF)で発生するようなテーブル/ファイルグループ定義の場合、DMVからの数値は表示されます。大read_bytes_total
およびwrite_bytes_total
そのボリュームの場合は、他のボリュームの場合は小さい数。これは正しい理解ですか?
BoLも私が読んだブログも、これを明確に示していません。
ドキュメントと実際のパラメータ自体の名前によれば、MIN_IOPS_PER_VOLUME
とMAX_IOPS_PER_VOLUME
が1秒あたりのI/Oの最大量を制御すると仮定するのは合理的と思われますperボリューム。
つまり、質問のように、リソースプールに3つのボリュームがあり、MAX_IOPS_PER_VOLUME
を300に設定すると、最大totalIOPSが900。
SQL Serverへのソースコードレベルのアクセスがなければ、特定のと言うことは不可能ですが、それが実際にどのように機能するかはわかりませんが、 ドキュメント は強調鉱山):
MINIMUM_IOPS_PER_SECOND:
1秒あたりの最小I/O操作(IOPS)を指定しますディスクボリュームあたりリソースプールを許可します。MAXIMUM_IOPS_PER_SECOND:
1秒あたりの最大I/O操作(IOPS)を指定しますディスクボリュームあたりリソースプールを許可します。