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 を使用する
C:\Program Files\Microsoft SQL Server\MSSQLXX に移動します。<InstanceName>\MSSQL\Binn。
SQLIOSIM.EXE アプリケーションを起動します。 [ ファイルと構成] ウィンドウが表示され、いくつかの既定の設定が含まれています。 これらの設定は、構成のニーズに合わせて変更できます。
リスト内の最初の mdx ファイル C:\temp\sqliosim\sqliosim.mdx を強調表示します。 このファイルは、データ ファイルと同じです。
ファイル設定を変更するには、その場所、サイズ、最大サイズ、または増分を変更します。 データ ファイルをシミュレートする場合は、 ログ ファイルをオフのままにします。 次に、[ 適用 ] ボタンを選択します。
この例では、ファイルの場所が D:\temp\sqliosim\sqliosim.mdx に変更され、そのサイズが 2048 MB に設定され、最大サイズが 4096 MB に設定され、増分サイズが 64 MB に設定されていることを示しています。
ldx サフィックスを使用して 2 番目のファイルを変更します。 このファイルは、トランザクション ログ ファイルと同等のファイルを表します。 [ ログ ファイル ] チェック ボックスは必ず有効にしてください。 完了したら、[ 適用] を選択します。
表形式グリッド内の画面中央にある [新しいファイル ] オプションを選択すると、さらにファイルを一覧に追加できます。 [新しいファイル] を選択したら、ファイルの場所を入力し、残りの設定を選択できます。 [ 適用] を選択することを忘れないでください。 次に例を示します:
構成に問題がなければ、[OK] ボタンを選択 します 。
[ シミュレーター>の開始] を選択して SQL IO シミュレーションを実行します。 または、 F12 または左端のボタンを選択し、その中に緑色の円を付けることができます。
シミュレーションが完了するまで待ち、出力を確認します。
例 2: コマンド ライン ツールと構成ファイルを使用する
および セクションのコメント
File1
File2
を削除し、値を新しい 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
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です。 |
-dir
Dir |
データ (.mdf) ファイルとログ (.ldf) ファイルを作成する場所を設定します。 このコマンドは複数回実行できます。 ほとんどの場合、この場所はドライブ ルートまたはボリューム マウント ポイントです。 この場所には、長いパスまたは UNC パスを指定できます。 |
-d
秒 |
メインの実行時間を設定します。 この値は、準備フェーズと検証フェーズを除外します。 |
-size
Mb |
データ ファイルの初期サイズを 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 AuditUser、ReadAheadUser、および 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]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
-
[ファイル<N>] (プレースホルダー
<N>
は数値)
これらの各セクションについては、次のセクションで説明します。
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 パスを指定できます。 セカンダリ ストリームの名前と型を含めることもできます。 たとえば、 パラメーターは 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 | ファイルを圧縮または展開できるかどうかを示します | パラメーターを に0 設定したIncrement 場合は、ファイルを圧縮不可に設定します。 この場合は、 パラメーターを Shrinkable に設定する false 必要があります。 パラメーターを 以外0 のIncrement 値に設定した場合は、ファイルを圧縮可能に設定します。 この場合は、 パラメーターを 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
合計は、物理メモリの合計以下である必要があります。 チェックポイント シミュレーションなど、一部のテスト フェーズはメモリを集中的に消費する可能性があり、複数のコピーを実行するとメモリ不足状態が発生する可能性があります。 メモリ不足エラーが発生した場合は、実行されているユーティリティ コピーの数を減らすことができます。