次の方法で共有


SQLIOSim ユーティリティを使用してディスク サブシステム上の SQL Server アクティビティをシミュレートする

この記事では、SQLIOSim ユーティリティを使用してディスク サブシステムに対してストレス テストを実行し、SQL Server アクティビティをシミュレートする方法について説明します。

元の製品バージョン: SQL Server
元の KB 番号: 231619

はじめに

この記事では、SQLIOSim ツールについて説明します。 SQLIOSim を使用して、SQL Server が利用するディスク サブシステムに対して信頼性と整合性のテストを実行できます。 これらの SQLIOSim テストは、Microsoft SQL Server が行う読み取り、書き込み、チェックポイント、バックアップ、並べ替え、先読みアクティビティをシミュレートします。 SQL Server I/O パターンの詳細については、「 SQL Server I/O の基本」の第 2 章を参照してください。 SQLIOSim ユーティリティは、SQL Server エンジンとは別にこのシミュレーションを実行します。

I/O シミュレーション テストの主な目的は、SQL Server が使用を開始する前に、基になる I/O サブシステムの信頼性を確保することです。 SQLIOSim は SQL Server と対話せず、SQL Server を実行する必要もありません。 実際、ほとんどの場合、2 つのアプリケーション間の I/O スループットの競合を回避するために、SQL Server が実行されていない場合は SQLIOSim を使用することをお勧めします。 実際の SQL Server データベース ファイルを上書きできるため、SQLIOSim テストで実際の SQL Server データベース ファイルを指したり使用したりしないように注意してください。

適切なデータ整合性を維持するために、新しいハードウェアに SQL Server を展開する前に、I/O サブシステムのストレス テストを実行することをお勧めします。 SQLIOSim ユーティリティは、SQL Server の読み取りと書き込みのパターンと問題の識別手法をシミュレートします。 これらのタスクを実行するために、SQLIOSim ユーティリティは、SQL Server システムのユーザー アクティビティとシステム アクティビティをシミュレートします。

SQLIOSim ユーティリティは、データのセキュリティや整合性を保証するものではありません。 このユーティリティは、システム環境のベースライン テストを提供するように設計されています。 SQLIOSim ユーティリティは、潜在的なデータ整合性の問題を公開する可能性があります。

ログ記録とデータ ストレージの詳細については、「 SQL Server でのデータの信頼性を拡張するログ記録アルゴリズムとデータ ストレージ アルゴリズムの説明を参照してください。

パフォーマンス ベンチマーク テストを実行する必要があり、ストレージ システムの I/O スループット容量を決定する場合は、代わりに Diskspd ツールを使用します。

SQLIOSim ユーティリティは、以前は SQL70IOStress ユーティリティと呼ばれていた SQLIOStress ユーティリティの代わりに使用されます。

SQLIOSim の場所

以前は、SQLIOSim は別のダウンロード パッケージとして出荷されていました。 SQL Server 2008 以降、SQLIOSim は SQL Server 製品のインストールに含まれています。 SQL Server をインストールすると、SQL Server インストールの \Binn フォルダーに SQLIOSim ツールが表示されます。 この更新バージョンのツールを使用して、ディスク サブシステム上の IO アクティビティをシミュレートすることをお勧めします。

3 つのファイルが SQLIOSim パッケージの一部です。 \Binn フォルダーには、SQLIOSim.comSQLIOSim.exeの 2 つの実行可能ファイルが含まれています。 どちらの実行可能ファイルも同じ I/O シミュレーション機能を提供します。

  • SQLIOSim.com はコマンド ライン ツールです。 ユーザーの操作なしで実行するように構成できます。 この構成を行うには、コマンド ライン パラメーター、構成ファイル、またはこれらの両方の方法の組み合わせを使用できます。
  • SQLIOSim.exe は、コマンドライン パラメーターを受け入れられないグラフィカル (GUI) アプリケーションです。 ただし、 SQLIOSim.exe は、構成ファイルから既定の構成データを読み込みます。
  • 構成ファイルを使用して、SQLIOSim で I/O シミュレーションを自動化することもできます。 詳細については、「 SQLIOSim 構成ファイル 」セクションを参照してください。

SQL Server を使用しないマシンで SQLIOSim を使用する

SQL Server をインストールする前に、コンピューター上の拡張テストに SQLIOSim を使用することをお勧めします。 これを使用して、将来データ ファイルとログ ファイルを配置する予定の I/O サブシステムをテストし、I/O サブシステムの信頼性を確認します。 このタスクを実行するには、SQL Server がインストールされているコンピューターから 3 つの SQLIOSim ファイルをコピーし、SQL Server のインストール前にテストを実行することを検討してください。 構成済みの設定を使用する場合は、 SQLIOSim.comSQLIOSim.exe、および必要に応じて 1 つ以上の構成ファイルをコピーします。 次に、そのマシンでテスト シミュレーションを実行します。

SQLIOSim の使用方法

SQLIOSim の実行中に SQL Server サービスを実行する必要はありません。 実際、SQLIOSim の実行中は、I/O リソースと競合する可能性があるため、SQL Server を実行しないことをお勧めします。

警告

テスト用の実際の SQL Server データベース ファイルを指定しないでください。 SQLIOSim ユーティリティはランダムなテスト パターンでデータを上書きし、実際の SQL Server データは失われます。

次のいくつかの例は、GUI とコマンド ラインを使用して SQLIOSim を実行する方法を示しています。

例 1: GUI を使用する

  1. C:\Program Files\Microsoft SQL Server\MSSQLXX.< に移動します。InstanceName>\MSSQL\Binn

  2. SQLIOSIM.EXE アプリケーションを起動します。 Files と Configuration ウィンドウが表示されます。このウィンドウには、いくつかの既定の設定が含まれています。 これらの設定は、構成のニーズに合わせて変更できます。

    ファイル構成を示すスクリーンショット。

  3. 一覧の最初の mdx ファイル C:\temp\sqliosim\sqliosim.mdx を強調表示します。 このファイルは、データ ファイルと同等です。

  4. ファイルの場所、サイズ、最大サイズ、または増分を変更して、ファイル設定を変更します。 データ ファイルをシミュレートする場合はLog ファイルをオフのままにします。 終わったら、[適用] ボタンを選択します。

    データ ファイルの構成を示すスクリーンショット。

    この例では、ファイルの場所が D:\temp\sqliosim\sqliosim.mdx に変更され、そのサイズが 2048 MB に設定され、最大サイズが 4096 MB に設定され、増分サイズが 64 MB に設定されていることを示しています。

  5. ldx サフィックスを持つ 2 番目のファイルを変更します。 このファイルは、トランザクション ログ ファイルと同等のファイルを表します。 [ ログ ファイル チェック ボックスをオンのままにしてください。 終了したとき、適用を選択します。

    ログ ファイルの構成のスクリーンショット。

  6. 表形式グリッド内の画面中央にある New File オプションを選択すると、一覧にさらにファイルを追加できます。 [新しいファイル] 選択したらファイルの場所を入力し、残りの設定を選択できます。 Applyを選択することを忘れないでください。 次に例を示します。

    新しいテスト ファイルの追加のスクリーンショット。

  7. 構成に問題がなければ、 OK ボタンを選択します。

  8. Simulator>Start を選択して、SQL IO シミュレーションを実行します。 または、 F12 または左端のボタンを緑色の円で囲んで選択することもできます。

    実行中の SQLIOSim を示すスクリーンショット。

  9. シミュレーションが完了するまで待ってから、出力を確認します。

例 2: コマンド ライン ツールと構成ファイルを使用する

  1. sqliosim.default.cfg.ini ファイルを変更するには、File1セクションとFile2 セクションのコメントを削除し、FileName値を新しい SQLIOSim ファイルに変更します。 例えば次が挙げられます。

    [File1]
    FileName=D:\sqliosim\sqliosim.mdx
    InitialSize=100
    MaxSize=200
    Increment=10
    Shrinkable=TRUE
    LogFile=FALSE
    Sparse=FALSE
    
    [File2]
    FileName=L:\sqliosim\sqliosim.ldx
    InitialSize=50
    MaxSize=50
    Increment=0
    Shrinkable=FALSE
    LogFile=TRUE
    Sparse=FALSE
    
  2. 構成ファイル C:\temp\sqliosimconfig\sqliosim.default.cfg.iniを使用して、SQLIOSIM.COMを実行します。

    SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
    

例 3: スイッチでコマンド ライン ツールを使用する

-dir スイッチを使用して、複数のディスク ボリュームを同時にテストできます。 次の例では、500 MB のファイルを作成し、300 秒間 (5 分間) テストを実行します。

SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosim\sqliosim.log.xml -dir "D:\sqliosim" -dir "F:\sqliosim\testfolder" -size 500 -d 300

例 4: 複数のドライブに対してコマンド ライン ツールを使用する

次の例では、32 GB のファイルを作成し、 sqliosim.hwcache.cfg.ini 構成ファイルを使用して 600 秒間 (10 分) テストを実行します。

SQLIOSIM.COM -cfg "D:\Temp\SQLIOSIM\SQLIOSIM_Configs\sqliosim.hwcache.cfg.ini" -d 600 -dir D:\temp\sqliosim -log D:\temp\sqliosim\simlog.xml -size 32768

コマンド ライン パラメーターの SQLIOSim.com

SQLIOSIM.COM は、基本的な動作を制御するために、限られた数のコマンドライン パラメーターを受け入れます。 SQLIOSim ユーティリティの構成ファイルは、高度な動作制御を提供します。 コマンド ライン パラメーターと構成ファイル オプションが重複する場合は、コマンド ライン パラメーターが優先されます。

パラメーター コメント
-cfg file Sqliosim.cfg.ini既定の構成ファイルをオーバーライドします。 ユーティリティでファイルが見つからない場合、SQLIOSim ユーティリティはエラーを返します。
-save file 結果の構成を構成ファイルに保存します。 このオプションを使用して、初期構成ファイルを作成できます。
-log file エラー ログ ファイル名とエラー ログ ファイルのパスを指定します。 既定のファイル名は Sqliosim.log.xml
-dirdir データ (.mdf) ファイルとログ (.ldf) ファイルを作成する場所を設定します。 このコマンドは複数回実行できます。 ほとんどの場合、この場所はドライブ ルートまたはボリューム マウント ポイントです。 この場所には、長いパスまたは UNC パスを指定できます。
-d seconds メイン実行の期間を設定します。 この値は、準備フェーズと検証フェーズを除外します。
-sizeMB データ ファイルの初期サイズを MB (MB) 単位で設定します。 ファイルは初期サイズの 2 倍まで拡張できます。 ログ ファイルのサイズは、データ ファイルの半分のサイズとして計算されます。 ただし、ログ ファイルは 50 MB を超えることはできません。

SQLIOSim 構成ファイル

構成ファイルを SQLIOSim と共に使用すると、I/O シミュレーションのすべての設定を事前に選択できます。 この構成ファイルは、SQLIOSim の実行の自動化に役立ちます。

さまざまなテストのサンプル構成ファイルは、SQL Server サポート チームの GitHub リポジトリからダウンロードできます。

構成ファイルを使用する必要はありません。 構成ファイルを使用しない場合、すべてのパラメーターは、データ ファイルの場所とログ ファイルの場所を除く既定値を受け取ります。 データ ファイルの場所とログ ファイルの場所を指定するには、次のいずれかの方法を使用する必要があります。

  • SQLIOSIM.COM ファイルでコマンド ライン パラメーターを使用します。
  • SQLIOSim.exe ファイルを実行した後、Files と Configuration ダイアログ ボックスを使用します。
  • 構成ファイルの File<N> セクションを使用します。

サンプル構成ファイル

自動 SQLIOSim 実行に使用する場合は、5 つのサンプル構成ファイルを使用できます。

サンプル ファイル 説明 既定の構成ファイルとは異なるパラメーター
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini - 読み取りを最小限に抑える

- ファイルはメモリ内に完全に保持するために小さくされます

- シーケンシャル読み取りなし
AuditUser セクションと ReadAheadUser セクションの場合:

CacheHitRatio=10000
UserCount=0
sqliosim.nothrottle.cfg.ini - I/O 調整を削除する

- I/O ボリュームの増加を待機する時間を最小限に抑える
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini - 読み取りを最小限に抑える

- ファイルはメモリ内に完全に保持するために小さくされます

- ファイルは圧縮不可になります

- シーケンシャル読み取りなし

- ランダム アクセスなし

- 遅延なしで大きなチャンクで一括更新する
Shrinkable=FALSE

AuditUserReadAheadUser、および RandomUser セクションの場合:

CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
sqliosim.sparse.cfg.ini - 32 MB のメモリのみを使用する

- ターゲット I/O 期間を十分に大きくして、多数の未処理の I/O 要求を有効にする

- 散布図/収集 API を無効にして、8 KB ページごとに個別の I/O 要求を発行する

- 1 GB の圧縮不可ファイルを作成する

- ファイルに 1 GB の圧縮不可能なセカンダリ スパース ストリームを作成する
MaxMemoryMB=32
TestCycles=3
TestCycleDuration=600
TargetIODuration=10000
UseScatterGather=FALSE

[File1]
FileName=sqliosim.mdx
InitialSize=1000 MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=FALSE

[File2]
FileName=sqliosim.ldx
InitialSize=50
MaxSize=50
Increment=0
Shrinkable=FALSE
LogFile=TRUE
Sparse=FALSE

[File3]
FileName=sqliosim.mdx:replica
InitialSize=1000
MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=TRUE

パラメーター値に関する注意事項

  • パラメーターの名前がパラメーターが比率またはパーセントであることを示す場合、パラメーターの値はパーセントまたは比率を 0.01 で割った値で表されます。 たとえば、 CacheHitRatio パラメーターの値は 10 percent。 10 を 0.01 で除算すると1000であるため、この値は1000として表されます。 percentage パラメーターの最大値は 10000
  • パラメーターの種類が数値で、パラメーターに数値以外の値を割り当てると、SQLIOSim ユーティリティによってパラメーターが 0に設定されます。
  • パラメーター型が Booleanの場合、パラメーターに割り当てることができる有効な値は true され、 false。 さらに、値では大文字と小文字が区別されます。 SQLIOSim ユーティリティは、無効な値を無視します。
  • パラメーターのペアが最小値と最大値を示す場合、最小値は最大値を超えてはなりません。 たとえば、 MinIOChainLength パラメーターの値は、 MaxIOChainLength パラメーターの値より大きくすることはできません。
  • パラメーターがページ数を示している場合、SQLIOSim ユーティリティは、パラメーターに割り当てた値を、SQLIOSim ユーティリティが処理するファイルと照合します。 SQLIOSim ユーティリティは、ページ数がファイル サイズを超えていないことを確認するために、このチェックを実行します。

構成ファイルのセクション

構成ファイルにはいくつかのセクションがあります。

これらの各セクションについては、次のセクションで説明します。

CONFIG セクション

SQLIOSim ユーティリティは、SQLIOSim 構成ファイルの CONFIG セクションで指定した値を受け取り、グローバル なテスト動作を確立します。

パラメーター 規定値 説明 Comments
ErrorFile sqliosim.log.xml XML 型ログ ファイルの名前
CPUCount コンピューター上の CPU の数 作成する論理 CPU の数 最大は 64 CPU です。
Affinity 0 論理 CPU に適用する物理 CPU アフィニティ マスク アフィニティ マスクは、アクティブな CPU マスク内にある必要があります。 0の値は、使用可能なすべての CPU が使用されることを意味します。
MaxMemoryMB SQLIOSim ユーティリティの起動時に使用可能な物理メモリ バッファー プールのサイズ (MB) この値は、コンピューター上の物理メモリの合計量を超えることはできません。
StopOnError true 最初のエラーが発生したときにシミュレーションを停止します
TestCycles 1 実行する完全なテスト サイクルの数 0の値は、テスト サイクルの数が無限であることを示します。
TestCycleDuration 300 テスト サイクルの期間 (サイクルの終了時の監査パスを除く秒単位)
CacheHitRatio 1000 SQLIOSim ユーティリティがディスクから読み取るときのシミュレートされたキャッシュ ヒット率
MaxOutstandingIO 0 プロセス全体で許可される未処理の I/O 操作の最大数 値は 140,000 を超えることはできません。 0の値は、最大で約 140,000 個の I/O 操作が許可されることを意味します。 これはユーティリティの制限です。
TargetIODuration 100 調整の対象となる I/O 操作の期間 (ミリ秒単位) 平均 I/O 期間がターゲット I/O 期間を超えた場合、SQLIOSim ユーティリティは、未処理の I/O 操作の数を調整して負荷を削減し、I/O 完了時間を短縮します。
AllowIOBursts true 多くの I/O 要求を送信するために調整をオフにすることを許可する I/O バーストは、テスト サイクルの終了時に、最初の更新、初期チェックポイント、および最終的なチェックポイントパスの間に有効になります。 MaxOutstandingIO パラメーターは引き続き受け入れられます。 長い I/O 警告が予想されます。
NoBuffering true FILE_FLAG_NO_BUFFERING オプションを使用します SQL Server は、 FILE_FLAG_NO_BUFFERING == trueを使用してデータベース ファイルを開きます。 Analysis Services などの一部のユーティリティとサービスでは、 FILE_FLAG_NO_BUFFERING == falseを使用します。 サーバーを完全にテストするには、設定ごとに 1 つのテストを実行します。
WriteThrough true FILE_FLAG_WRITE_THROUGH オプションを使用します SQL Server は、 FILE_FLAG_WRITE_THROUGH == trueを使用してデータベース ファイルを開きます。 ただし、一部のユーティリティやサービスでは、 FILE_FLAG_WRITE_THROUGH == falseを使用してデータベース ファイルが開きます。 たとえば、SQL Server Analysis Services は、 FILE_FLAG_WRITE_THROUGH == falseを使用してデータベース ファイルを開きます。 サーバーを完全にテストするには、設定ごとに 1 つのテストを実行します。
ScatterGather true ReadScatter API または WriteGather API を使用する このパラメーターを true に設定すると、 NoBuffering パラメーターも true に設定されます。

SQL Server では、ほとんどの I/O 要求に対して分散/収集 I/O が使用されます。
ForceReadAhead true データが既に読み取られた場合でも先読み操作を実行する SQLIOSim ユーティリティは、データ ページが既にバッファー プール内にある場合でも、読み取りコマンドを発行します。

Microsoft SQL Server サポートは、真の設定を使用して I/O の問題を公開しました。
DeleteFilesAtStartup true ファイルが存在する場合は起動時にファイルを削除する 1 つのファイルに複数のデータ ストリームが含まれている場合があります。 ファイルでは、 File <N> FileName エントリで指定されたストリームのみが切り捨てられます。 既定のストリームを指定すると、すべてのストリームが削除されます。
DeleteFilesAtShutdown false テストが完了した後にファイルを削除する 1 つのファイルに複数のデータ ストリームが含まれている場合があります。 ファイルでは、 File <N> FileName エントリで指定したデータ ストリームのみが切り捨てられます。 既定のデータ ストリームが指定されている場合、SQLIOSim ユーティリティはすべてのデータ ストリームを削除します。
StampFiles false ゼロをスタンプしてファイルを展開する ファイルが大きい場合、このプロセスには時間がかかる場合があります。 このパラメーターを false に設定すると、SQLIOSim ユーティリティは有効なデータ マーカーを設定してファイルを拡張します。

SQL Server 2005 では、データ ファイルのファイルの瞬時初期化機能が使用されます。 データ ファイルがログ ファイルの場合、またはファイルの瞬時初期化が有効になっていない場合、SQL Server はゼロ スタンプを実行します。 SQL Server 2000 より前のバージョンの SQL Server では、常にゼロ スタンプが実行されます。

テスト中に StampFiles パラメーターの値を切り替えて、ファイルの瞬時初期化とゼロ スタンプの両方が正しく動作していることを確認する必要があります。

File<N> セクション

SQLIOSim ユーティリティは、複数のファイル テストを可能にするように設計されています。 File<N> セクションは、テスト内の各ファイルについて[File2][File1]として表されます。

パラメーター 規定値 説明 Comments
FileName 既定値なし ファイル名とパス FileName パラメーターには、長いパスまたは UNC パスを指定できます。 セカンダリ ストリームの名前と種類を含めることもできます。 たとえば、 FileName パラメーターを file.mdf:stream2 に設定できます。

SQL Server 2005 では、DBCC 操作ではストリームが使用されます。 ストリーム テストを実行することをお勧めします。
InitialSize 既定値なし 初期サイズ (MB) 既存のファイルが InitialSize パラメーターに指定された値より大きい場合、SQLIOSim ユーティリティは既存のファイルを圧縮しません。 既存のファイルが小さい場合、SQLIOSim ユーティリティは既存のファイルを展開します。
MaxSize 既定値なし 最大サイズ (MB) ファイルは、 MaxSize パラメーターに指定した値より大きくすることはできません。
Increment 0 ファイルが拡大または縮小される増分のサイズ (MB 単位)。 詳細については、この記事の「 ShrinkUser 」セクションを参照してください。 SQLIOSim ユーティリティは、起動時に Increment パラメーターを調整して、状況が確立されるようにします: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles
Incrementの値が0場合、SQLIOSim ユーティリティはファイルを圧縮不可として設定します。
Shrinkable false ファイルを圧縮または展開できるかどうかを示します Increment パラメーターを 0 に設定した場合は、ファイルを圧縮不可に設定します。 この場合は、 Shrinkable パラメーターを false に設定する必要があります。 Increment パラメーターを 0 以外の値に設定すると、ファイルは圧縮可能に設定されます。 この場合は、 Shrinkable パラメーターを true に設定する必要があります。
Sparse false スパース属性をファイルに設定するかどうかを示します 既存のファイルの場合、 Sparse パラメーターを false に設定しても、SQLIOSim ユーティリティはスパース属性をクリアしません。

SQL Server 2005 では、スパース ファイルを使用して、スナップショット データベースとセカンダリ DBCC ストリームをサポートします。

スパース ファイルとストリームの両方を有効にしてから、テスト パスを実行することをお勧めします。

ファイル設定のSparse = trueを設定する場合は、configセクションでNoBuffering = falseを指定しないでください。 これら 2 つの競合する組み合わせを使用すると、ツールから次のようなエラーが表示されることがあります。

Error:-=====Error: 0x80070467
エラー テキスト: ハード ディスクへのアクセス中に、再試行後もディスク操作に失敗しました。
説明: C:\SQLIOSim.mdx ページでバッファー検証に失敗しました: 28097
LogFile false ファイルにユーザー ログ データとトランザクション ログ データのどちらが含まれているかを示します 少なくとも 1 つのログ ファイルを定義する必要があります。

RandomUser セクション

SQLIOSim ユーティリティは、オンライン トランザクション処理 (OLTP) I/O パターンなど、ランダムなクエリ操作を実行している SQL Server ワーカーをシミュレートするために、 RandomUser セクションで指定した値を受け取ります。

パラメーター 規定値 説明 Comments
UserCount -1 同時に実行されているランダム アクセス スレッドの数 値は、 CPUCount*1023-100の値を超えることはできません。
すべてのユーザーの合計数も、この値を超えることはできません。 0 の値は、ランダム アクセス ユーザーを作成できないことを意味します。 -1の値は、値の自動構成 (min(CPUCount*2, 8)) を使用する必要があることを意味します。
SQL Server システムには数千のセッションが含まれる場合があります。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、sys.dm_exec_requests動的管理ビュー (DMV) に対するクエリでcount(*)関数を使用します。

CPUCountここでは、CONFIG セクションの CPUCount パラメーターの値を参照します。

min(CPUCount*2, 8)値を指定すると、CPUCount*28の間の値が小さくなります。
JumpToNewRegionPercentage 500 ファイルの新しい領域にジャンプする可能性 領域の開始がランダムに選択されます。 領域のサイズは、 MinIOChainLength パラメーターの値と MaxIOChainLength パラメーターの値の間のランダムな値です。
MinIOChainLength 1 ページ単位の最小領域サイズ
MaxIOChainLength 100 ページ単位の最大領域サイズ SQL Server 2005 Enterprise Edition と SQL Server 2000 Enterprise Edition は、最大 1,024 ページまで先読みできます。

最小値は 0 です。 最大値はシステム メモリによって制限されます。

通常、ランダムなユーザー アクティビティでは、小さなスキャン操作が発生します。 ReadAheadUser セクションで指定した値を使用して、より大きなスキャン操作をシミュレートします。
RandomUserReadWriteRatio 9000 更新するページの割合 ランダム長チェーンはリージョンで選択され、読み取り可能です。 このパラメーターは、更新してディスクに書き込むページの割合を定義します。
MinLogPerBuffer 64 最小ログ レコード サイズ (バイト単位) 値は、ディスク上のセクター サイズの倍数か、ディスク上のセクター サイズに均等に収まるサイズである必要があります。
MaxLogPerBuffer 8192 ログ レコードの最大サイズ (バイト単位) この値は 64,000 を超えることはできません。 値は、ディスク上のセクター サイズの倍数である必要があります。
RollbackChance 100 ロールバック操作が発生するメモリ内操作が発生する可能性。 このロールバック操作が発生すると、SQL Server はログ ファイルに書き込まれません。
SleepAfter 5 各サイクル後のスリープ時間 (ミリ秒)

AuditUser セクション

SQLIOSim ユーティリティは、 AuditUser セクションで指定した値を受け取り、DBCC アクティビティをシミュレートして、ページに関する情報を読み取って監査します。 UserCount パラメーターの値が 0 に設定されている場合でも、検証が行われます。

パラメーター 規定値 説明 Comments
UserCount 2 監査スレッドの数 値が次の値を超えることはできません: CPUCount*1023-100
すべてのユーザーの合計数も、この値を超えることはできません。 0値は、ランダム アクセス ユーザーを作成できないことを意味します。 -1の値は、値の自動構成 (min(CPUCount*2, 8)) を使用する必要があることを意味します。
SQL Server システムには数千のセッションが含まれる場合があります。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、sys.dm_exec_requests DMV に対するクエリでcount(*)関数を使用します。

CPUCountここでは、CONFIG セクションの CPUCount パラメーターの値を参照します。

min(CPUCount*2, 8)値を指定すると、CPUCount*28の間の値が小さくなります。
BuffersValidated 64
DelayAfterCycles 2 BuffersValidated サイクル数が完了した後、AuditDelay パラメーターを適用します
AuditDelay 200 DelayAfterCycles 操作の後に待機するミリ秒数

ReadAheadUser セクション

SQLIOSim ユーティリティは、sql Server の先読みアクティビティをシミュレートするために、 ReadAheadUser セクションで指定された値を受け取ります。 SQL Server では、先行読み取りアクティビティを利用して非同期 I/O 機能を最大化し、クエリの遅延を制限します。

パラメーター 規定値 説明 Comments
UserCount 2 先読みスレッドの数 値が次の値を超えることはできません: CPUCount*1023-100
すべてのユーザーの合計数も、この値を超えることはできません。 0値は、ランダム アクセス ユーザーを作成できないことを意味します。 -1の値は、次の値の自動構成を使用する必要があります: min(CPUCount*2, 8)
SQL Server システムには数千のセッションが含まれる場合があります。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、sys.dm_exec_requests DMV に対するクエリでcount(*)関数を使用します。

CPUCount ここでは、CONFIG セクションの CPUCount パラメーターの値を参照します。

min(CPUCount*2, 8)値を指定すると、CPUCount*28の間の値が小さくなります。
BuffersRAMin 32 サイクルごとに読み取るページの最小数 最小値は 0 です。 最大値はシステム メモリによって制限されます。
BuffersRAMax 64 サイクルあたりの最大読み取りページ数 SQL Server Enterprise エディションでは、1 回の要求で最大 1,024 ページを読み取ることができます。 CPU、メモリ、ディスク リソースが多いコンピューターに SQL Server をインストールする場合は、ファイル サイズと先行読み取りサイズを増やすことをお勧めします。
DelayAfterCycles 2 指定したサイクル数が完了した後、 RADelay パラメーターを適用します
RADelay 200 DelayAfterCycles 操作の後に待機するミリ秒数

BulkUpdateUser セクション

SQLIOSim ユーティリティは、SELECT...INTO操作やBULK INSERT操作などの一括操作をシミュレートするために、BulkUpdateUser セクションで指定した値を受け取ります。

パラメーター 規定値 説明 Comments
UserCount -1 BULK UPDATE スレッドの数 この値は、次の値を超えることはできません。 CPUCount*1023-100
-1値は、次の値の自動構成を使用する必要があることを意味します: min(CPUCount*2, 8)
SQL Server システムには数千のセッションが含まれる場合があります。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、sys.dm_exec_requests DMV に対するクエリでcount(*)関数を使用します。

CPUCountここでは、CONFIG セクションの CPUCount パラメーターの値を参照します。

min(CPUCount*2, 8)値を指定すると、CPUCount*28の間の値が小さくなります。
BuffersBUMin 64 サイクルごとに更新するページの最小数
BuffersBUMax 128 サイクルごとに更新するページの最大数 最小値は 0 です。 最大値はシステム メモリによって制限されます。
DelayAfterCycles 2 指定したサイクル数が完了した後、 BUDelay パラメーターを適用します
BUDelay 10 DelayAfterCycles 操作の後に待機するミリ秒数

ShrinkUser セクション

SQLIOSim ユーティリティは、DBCC 圧縮操作をシミュレートするために、 ShrinkUser セクションで指定した値を受け取ります。 SQLIOSim ユーティリティでは、 ShrinkUser セクションを使用してファイルを拡張することもできます。

パラメーター 規定値 説明
MinShrinkInterval 120 圧縮操作の最小間隔 (秒単位)
MaxShrinkInterval 600 圧縮操作の最大間隔 (秒単位)
MinExtends 1 SQLIOSim ユーティリティがファイルを拡大または縮小する最小増分数
MaxExtends 20 SQLIOSim ユーティリティがファイルを拡大または縮小する増分の最大数

構成.iniファイルのコメント

構成 .ini ファイル内の行の先頭にセミコロン文字 (;)) を指定すると、行は 1 つのコメントとして扱われます。

ファイルの作成

SQLIOSim ユーティリティは、データ ファイルとそのログ ファイルで SQL Server によって生成される I/O パターンをシミュレートするために、個別のデータ ファイルとログ ファイルを作成します。 SQLIOSim ユーティリティは、SQL Server エンジンを使用してストレス アクティビティを実行しません。 そのため、SQL Server をインストールする前に、SQLIOSim ユーティリティを使用してコンピューターをテストできます。

SQLIOSim ユーティリティを実行するときは、SQL Server データベース ファイルに使用するのと同じファイルの場所を指定してください。 この操作を行うと、SQL Server データベースと同じ I/O パスがシミュレートされます。

既存のテスト ファイルの圧縮属性または暗号化属性を有効にすることができます。 テスト ファイルが作成される既存のディレクトリに対して、これらの属性を有効にすることもできます。 これらの属性を有効にする対応するオプションは、ファイルまたはディレクトリの Properties ダイアログ ボックスにあります。

既定では、SQLIOSim ユーティリティは、 .mdx および .ldx ファイル名拡張子を持つテスト ファイルを作成します。 そのため、これらのファイルは既存のデータ ファイルとログ ファイルを上書きしません。

警告

テスト用の実際の SQL Server データベース ファイルは指定しないでください。 SQLIOSim ユーティリティはランダムなテスト パターンでデータを上書きし、実際の SQL Server データは失われます。

SQLIOSim エラー ログと処理

SQLIOSim ユーティリティは、次のいずれかの場所にエラー ログ ファイルを作成します。

  • ログ スタートアップ パラメーターで指定する場所
  • Sqliosim.cfg.ini ファイルのErrorFile=行で指定する場所

SQLIOSim.log.xmlエラー ログには、実行に関する詳細が含まれています。 これらの詳細には、エラー情報が含まれます。 エラー情報と警告情報については、ログを注意深く確認してください。

Note

SQLIOSim ユーティリティでエラーが発生した場合は、問題の根本原因の特定をハードウェアの製造元に依頼することをお勧めします。 この問題は、デバイス ドライバー、ファイル システム フィルター ドライバー (ウイルス対策など)、または OS によっても発生する可能性があります。

複数のコピー

SQLIOSim ユーティリティは、複数ファイル レベルのテストと複数ユーザー レベルのテストに対応しています。 SQLIOSim ユーティリティでは、複数の呼び出しは必要ありません。 次の条件に該当する場合は、SQLIOSim ユーティリティの複数のコピーを実行できます。

  • すべてのコピーは、ユーティリティのインスタンスごとに一意のテスト ファイルを参照します。
  • 各インスタンスの MaxMemoryMB パラメーターは、インスタンスごとに十分な重複しないメモリ領域を提供します。

各インスタンスの MaxMemoryMB パラメーターの合計は、物理メモリの合計以下である必要があります。 チェックポイント シミュレーションなどの一部のテスト フェーズはメモリを大量に消費する可能性があり、複数のコピーを実行するとメモリ不足状態が発生する可能性があります。 メモリ不足エラーが発生した場合は、実行中のユーティリティ コピーの数を減らすことができます。

関連情報