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 を使用することをお勧めします。 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.com とSQLIOSim.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.com、SQLIOSim.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 アプリケーションを起動します。 [ ファイルと構成] ウィンドウが表示され、いくつかの既定の設定が含まれています。 これらの設定は、構成のニーズに合わせて変更できます。

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

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

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

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

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

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

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

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

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

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

  8. [ シミュレーター>の開始] を選択して SQL IO シミュレーションを実行します。 または、 F12 または左端のボタンを選択し、その中に緑色の円を付けることができます。

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

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

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

  1. および セクションのコメントFile1File2を削除し、値を新しい SQLIOSim ファイルに変更してFileName、sqliosim.default.cfg.iniファイルを変更します。 例:

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

SQLIOSim 構成ファイル

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

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

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

  • SQLIOSIM.COM ファイルでコマンド ライン パラメーターを使用します。
  • SQLIOSim.exe ファイルを実行した後、[ファイルと構成] ダイアログ ボックスを使用します。
  • 構成 ファイルの [ファイル<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パラメーターに割り当てることができる有効な値は と falseですtrue。 さらに、値では大文字と小文字が区別されます。 SQLIOSim ユーティリティは無効な値を無視します。
  • パラメーターのペアが最小値と最大値を示す場合、最小値は最大値を超えてはなりません。 たとえば、パラメーターの値を MinIOChainLength パラメーターの値 MaxIOChainLength より大きくすることはできません。
  • パラメーターに複数のページが示されている場合、SQLIOSim ユーティリティーは、パラメーターに割り当てた値を、SQLIOSim ユーティリティーが処理するファイルと照合します。 SQLIOSim ユーティリティは、このチェックを実行して、ページ数がファイル サイズを超えないようにします。

構成ファイル セクション

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

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

CONFIG セクション

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

パラメーター 既定値 説明 注釈
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 API または API を使用ReadScatterするWriteGather このパラメーターが に 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 0 を押してファイルを展開する ファイルが大きい場合、このプロセスには長い時間がかかる場合があります。 このパラメーターを false に設定すると、SQLIOSim ユーティリティは有効なデータ マーカーを設定してファイルを拡張します。

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

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

ファイル<N> セクション

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

パラメーター 既定値 説明 注釈
FileName 既定値なし ファイル名とパス パラメーターには FileName 、長いパスまたは UNC パスを指定できます。 セカンダリ ストリームの名前と型を含めることもできます。 たとえば、 パラメーターは FileNamefile.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 が の場合、 0SQLIOSim ユーティリティはファイルを圧縮不可として設定します。
Shrinkable false ファイルを圧縮または展開できるかどうかを示します パラメーターを に0設定したIncrement場合は、ファイルを圧縮不可に設定します。 この場合は、 パラメーターを Shrinkable に設定する false必要があります。 パラメーターを 以外0Increment値に設定した場合は、ファイルを圧縮可能に設定します。 この場合は、 パラメーターを Shrinkable に設定する true必要があります。
Sparse false スパース属性をファイルに設定するかどうかを示します 既存のファイルの場合、パラメーターを false に設定しても、SQLIOSim ユーティリティはスパース属性を Sparse クリアしません。

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

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

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

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

RandomUser セクション

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

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

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

値をmin(CPUCount*2, 8)指定すると、 と 8の間CPUCount*2の値が小さくなります。
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設定されている場合でも発生します。

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

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

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

ReadAheadUser セクション

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

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

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

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

BulkUpdateUser セクション

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

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

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

値をmin(CPUCount*2, 8)指定すると、 と 8の間CPUCount*2の値が小さくなります。
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 エンジンを使用してストレス アクティビティを実行しません。 そのため、SQLIOSim ユーティリティを使用して、SQL Serverをインストールする前にコンピューターをテストできます。

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

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

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

警告

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

SQLIOSim エラー ログと処理

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

  • ログ起動パラメーターで指定する場所
  • Sqliosim.cfg.ini ファイルの行にErrorFile=指定する場所

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

注:

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

複数のコピー

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

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

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

関連情報