元の製品バージョン: SQL Server
元の KB 番号: 231619
Summary
SQLIOSim ツールは、Microsoft SQL Server I/O パターンをシミュレートすることで、ディスク サブシステムで信頼性と整合性のストレス テストを実行します。 これらのテストには、読み取り、書き込み、チェックポイント、バックアップ、並べ替え、先読みアクティビティが含まれます。 新しいハードウェアにSQL Serverをデプロイする前に、SQLIOSim を使用して I/O サブシステムを検証します。 このツールはSQL Server エンジンとは独立して動作し、SQL Serverを実行する必要はありません。
SQLIOSim の概要
SQLIOSim は、SQL Server システムの読み取りおよび書き込みパターン (ページの読み取り、チェックポイント、バックアップ、並べ替え、先読み) をシミュレートして、潜在的な I/O の問題を特定します。 I/O シミュレーション テストの主な目的は、基になる I/O サブシステムの使用を開始する前SQL Server信頼性を確認することです。 SQL Server I/O の基礎の詳細については、「SQL Server I/O の基礎を参照してください。
SQLIOSim はSQL Serverと対話せず、SQL Serverを実行する必要はありません。 ほとんどの場合、SQL Serverが実行されていない場合は SQLIOSim を実行して、2 つのアプリケーション間の I/O スループットの競合を回避します。
警告
SQLIOSim テストで実際のSQL Server データベース ファイルを指したり使用したりしないでください。これは、このツールがランダムなテスト パターンを使用してファイルを上書きするためです。
SQLIOSim では、データのセキュリティや整合性は保証されません。 このツールは、システム環境のベースライン テストを提供し、潜在的なデータ整合性の問題を公開する可能性があります。
ログ記録とデータ ストレージの詳細については、「 SQL Server でのデータの信頼性を拡張するログ記録アルゴリズムとデータ ストレージ アルゴリズムの説明を参照してください。
パフォーマンス ベンチマークを実行し、I/O スループット容量を決定する必要がある場合は、代わりに Diskspd ツールを使用してください。
Tip
運用環境のデプロイの前に、新しいストレージ構成ごとに SQLIOSim を実行します。 このテストは、キャッシュ レイヤーが存在する場合でも、システムが書き込み順序とフラッシュ セマンティクスを確実に受け入れるのに役立ちます。 このようなレイヤーには、コントローラー キャッシュ、ファームウェア バッファリング、SAN の最適化が含まれます。
SQLIOSim の場所
SQLIOSim は、以前は別のダウンロード パッケージとして使用されていました。 Microsoft SQL Server 2008 以降、SQLIOSim はSQL Server製品のインストールに含まれています。 SQL Serverをインストールすると、SQL Server インストールの Binn フォルダーに SQLIOSim ツールが表示されます。 この更新バージョンのツールを使用して、ディスク サブシステム上の I/O アクティビティをシミュレートします。
SQLIOSim パッケージには、3 つのファイルが含まれています。 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 サブシステムをテストし、その信頼性を確認します。 これを行うには、SQL Serverがインストールされているコンピューターから SQLIOSim ファイルをコピーし、SQL Serverをインストールする前にテストを実行します。 構成済みの設定を使用する場合は、 SQLIOSim.com、 SQLIOSim.exe、および必要に応じて 1 つ以上の構成ファイルをコピーします。 次に、そのコンピューターでテスト シミュレーションを実行します。
SQLIOSim の使用方法
SQLIOSim の実行中にSQL Server サービスを実行する必要はありません。 実際、SQLIOSim の実行中は、アプリケーションが I/O リソースと競合する可能性があるため、SQL Serverは実行しないでください。
警告
実際のSQL Server データを失わないようにするには、テスト用の実際のSQL Server データベース ファイルを指定しないでください。 SQLIOSim ツールは、ランダムなテスト パターンを使用してデータを上書きします。
次の例は、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 に設定されていることを示しています。
2 番目のファイル ( ldx サフィックスを持つファイル) を変更します。 このファイルは、トランザクション ログ ファイルと同等のファイルを表します。 [ログ ファイル] オプションが選択されたままであることを確認します。 完了したら、[ 適用] を選択します。
表形式グリッド内の画面中央にある [新しいファイル ] オプションを選択して、一覧にさらにファイルを追加します。 ファイルの場所を入力し、残りのオプションを設定します。 完了したら、[ 適用] を選択します。 次に例を示します。
構成に問題がなければ、[ OK] を選択します。
SQL I/O シミュレーションを実行するには、[シミュレーター>開始] を選択します。 または、 F12 キーを押すか、緑色の円を含む左端のボタンを選択します。
シミュレーションが完了するまで待ってから、出力を確認します。
例 2: コマンド ライン ツールと構成ファイルを使用する
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構成ファイルを使用して SQLIOSIM.COM を実行 C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:
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 ファイルを実行した後、Files と Configuration ダイアログ ボックスを使用します。
- 構成ファイルの File<N> セクションを使用します。
サンプル構成ファイル
SQLIOSim の自動実行には、次の 5 つのサンプル構成ファイルを使用します。
| サンプル ファイル | 説明 | 既定の構成ファイルとは異なるパラメーター |
|---|---|---|
| sqliosim.default.cfg.ini | ||
| sqliosim.hwcache.cfg.ini | - 読み取りを最小限に抑える - ファイルを小さくしてメモリ内に完全に保持する - シーケンシャル読み取りなし |
AuditUser セクションと ReadAheadUser セクションの場合:CacheHitRatio=10000UserCount=0 |
| sqliosim.nothrottle.cfg.ini | - I/O スロットリングを解除します - I/O ボリュームの増加を待機する時間を最小限に抑えます |
TargetIODuration=1000000AuditDelay=10RADelay=10 |
| sqliosim.seqwrites.cfg.ini | - 読み取りを最小限に抑える - ファイルを小さくしてメモリ内に完全に保持する - ファイルを圧縮不可にする - シーケンシャル読み取りなし - ランダム アクセスなし - 遅延なしで大きなチャンクで一括更新する |
Shrinkable=FALSEAuditUser、ReadAheadUser、および RandomUser セクションの場合: CacheHitRatio=10000ForceReadAhead=FALSEBuffersBUMin=600BuffersBUMax=1000BUDelay=1UserCount=0 |
| sqliosim.sparse.cfg.ini | - 32 MB のメモリのみを使用します - ターゲット I/O 期間を、多数の未処理の I/O 要求を有効にするのに十分な大きさにします - スキャッター/ギャザーAPIを無効にし、8KBごとに個別のI/O要求を発行します。 - 1 GB の圧縮不可ファイルを作成します - ファイルに 1 GB の圧縮不可能なセカンダリ スパース ストリームを作成します |
MaxMemoryMB=32TestCycles=3TestCycleDuration=600TargetIODuration=10000UseScatterGather=FALSE[File1]FileName=sqliosim.mdxInitialSize=1000 MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=FALSE[File2]FileName=sqliosim.ldxInitialSize=50MaxSize=50Increment=0Shrinkable=FALSELogFile=TRUESparse=FALSE[File3]FileName=sqliosim.mdx:replicaInitialSize=1000MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=TRUE |
パラメーター値に関する注意事項
- パラメーターの名前がパラメーターが比率またはパーセントであることを示す場合、パラメーターの値はパーセントまたは比率を 0.01 で割った値で表されます。 たとえば、
CacheHitRatioパラメーターの値は10 percent。 10 を 0.01 で除算すると1000であるため、この値は1000として表されます。 percentage パラメーターの最大値は10000。 - パラメーターの種類が数値で、パラメーターに数値以外の値を割り当てると、SQLIOSim ツールによってパラメーターが
0に設定されます。 - パラメーターの型がブール値の場合、パラメーターに割り当てることができる有効な値は
trueされ、false。 さらに、値では大文字と小文字が区別されます。 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 |
ReadScatter API または WriteGather API を使用する |
このパラメーターを true に設定すると、 NoBuffering パラメーターも true に設定されます。SQL Server では、ほとんどの I/O 要求に対して分散/収集 I/O が使用されます。 |
ForceReadAhead |
true | データが既に読み取られた場合でも、先読み操作を実行します。 | SQLIOSim ツールは、データ ページが既にバッファー プール内にある場合でも、読み取りコマンドを発行します。 Microsoft SQL Server サポートは、真の設定を使用して I/O の問題を公開しました。 |
DeleteFilesAtStartup |
true | ファイルが存在する場合は起動時にファイルを削除する | ファイルには複数のデータ ストリームを含めることができます。 ファイルでは、 File <N> FileName エントリで指定されたストリームのみが切り捨てられます。 既定のストリームを指定すると、すべてのストリームが削除されます。 |
DeleteFilesAtShutdown |
偽 | テストが完了した後にファイルを削除する | ファイルには複数のデータ ストリームを含めることができます。 ファイルでは、 File <N> FileName エントリで指定したデータ ストリームのみが切り捨てられます。 既定のデータ ストリームが指定されている場合、SQLIOSim ツールはすべてのデータ ストリームを削除します。 |
StampFiles |
偽 | ゼロをスタンプしてファイルを展開する | ファイルが大きい場合、このプロセスには時間がかかる場合があります。 このパラメーターを false に設定すると、SQLIOSim ツールは有効なデータ マーカーを設定してファイルを拡張します。 SQL Server 2005 では、データ ファイルのファイルの瞬時初期化機能が使用されます。 データ ファイルがログ ファイルの場合、またはファイルの瞬時初期化が有効になっていない場合、SQL Server はゼロ スタンプを実行します。 SQL Server 2000 より前のバージョンの SQL Server では、常にゼロ スタンプが実行されます。 テスト中に StampFiles パラメーターの値を切り替えて、ファイルの瞬時初期化とゼロ スタンプの両方が正しく動作していることを確認する必要があります。 |
File<N> セクション
SQLIOSim ツールは、複数のファイル テストを可能にするように設計されています。
File<N> セクションは、テスト内の各ファイルについて[File1]、[File2]として表されます。
| パラメーター | 規定値 | 説明 | コメント |
|---|---|---|---|
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 |
偽 | ファイルを圧縮または展開できるかどうかを示します |
Increment パラメーターを 0 に設定した場合は、ファイルを圧縮不可に設定します。 この場合は、 Shrinkable パラメーターを false に設定する必要があります。
Increment パラメーターを 0 以外の値に設定すると、ファイルは圧縮可能に設定されます。 この場合は、 Shrinkable パラメーターを true に設定する必要があります。 |
Sparse |
偽 |
Sparse属性をファイルに設定するかどうかを示します |
既存のファイルの場合、Sparse パラメーターを false に設定しても、SQLIOSim ツールは Sparse 属性をクリアしません。SQL Server 2005 では、スパース ファイルを使用して、スナップショット データベースとセカンダリ DBCC ストリームをサポートします。 スパース ファイルとストリームの両方を有効にし、テスト パスを実行します。 注ファイル設定の Sparse = trueを設定する場合は、NoBuffering = falseセクションでconfigを指定しないでください。 これら 2 つの競合する組み合わせを使用すると、ツールから次のようなエラー メッセージが表示されることがあります。エラー:-=====Error: 0x80070467 エラー テキスト: ハード ディスクへのアクセス中に、再試行後もディスク操作に失敗しました。 説明: C:\SQLIOSim.mdx ページでバッファー検証に失敗しました: 28097 |
LogFile |
偽 | ファイルにユーザー ログ データとトランザクション ログ データのどちらが含まれているかを示します | 少なくとも 1 つのログ ファイルを定義します。 |
RandomUser セクション
SQLIOSim ツールは、RandomUser セクションで指定した値を使用して、オンライン トランザクション処理 (OLTP) I/O パターンなどのランダムなクエリ操作を実行しているSQL Server ワーカーをシミュレートします。
| パラメーター | 規定値 | 説明 | コメント |
|---|---|---|---|
UserCount |
-1 | 同時に実行されているランダム アクセス スレッドの数 | 値は、 CPUCount*1023-100の値を超えることはできません。すべてのユーザーの合計数も、この値を超えることはできません。 0 の値は、ランダム アクセス ユーザーを作成できないことを意味します。 -1の値は、値の自動構成 (min(CPUCount*2, 8)) を使用する必要があることを意味します。NOTE SQL Server システムには数千のセッションを含めることができます。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、 count(*)動的管理ビュー (DMV) に対するクエリでsys.dm_exec_requests関数を使用します。CPUCountここでは、CPUCount セクションの CONFIG パラメーターの値を参照します。min(CPUCount*2, 8)値を指定すると、CPUCount*2と8の間の値が小さくなります。 |
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)) を使用する必要があることを意味します。NOTE SQL Server システムには数千のセッションがあります。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、 count(*) DMV に対するクエリでsys.dm_exec_requests関数を使用します。CPUCountここでは、CPUCount セクションの CONFIG パラメーターの値を参照します。min(CPUCount*2, 8)値は、CPUCount*2と8の間の値の小さい方を生成します。 |
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 システムには数千のセッションが含まれる場合があります。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、 count(*) DMV に対するクエリでsys.dm_exec_requests関数を使用します。CPUCount ここでは、CONFIG セクションの CPUCount パラメーターの値を参照します。min(CPUCount*2, 8)値を指定すると、CPUCount*2と8の間の値が小さくなります。 |
BuffersRAMin |
32 | サイクルごとに読み取るページの最小数 | 最小値は 0 です。 最大値はシステム メモリによって制限されます。 |
BuffersRAMax |
64 | サイクルあたりの最大読み取りページ数 | SQL Server Enterprise エディションでは、1 回の要求で最大 1,024 ページを読み取ることができます。 CPU、メモリ、ディスク リソースが多いコンピューターにSQL Serverをインストールする場合は、ファイル サイズと先読みサイズを増やします。 |
DelayAfterCycles |
2 | 指定したサイクル数が完了した後、 RADelay パラメーターを適用します |
|
RADelay |
200 | 各 DelayAfterCycles 操作の後に待機するミリ秒数 |
「BulkUpdateUser」セクション
SQLIOSim ツールは、BulkUpdateUser操作やSELECT...INTO操作などの一括操作をシミュレートするために、BULK INSERT セクションで指定した値を受け取ります。
| パラメーター | 規定値 | 説明 | コメント |
|---|---|---|---|
UserCount |
-1 |
BULK UPDATE スレッドの数 |
この値は、次の値を超えることはできません。 CPUCount*1023-100-1値は、次の値の自動構成を使用する必要があることを意味します: min(CPUCount*2, 8)。注 SQL Server システムには数千のセッションが含まれる場合があります。 ほとんどのセッションにはアクティブな要求がありません。 このテスト パラメーター値を確立するためのベースラインとして、 count(*) DMV に対するクエリでsys.dm_exec_requests関数を使用します。CPUCountここでは、CPUCount セクションの CONFIG パラメーターの値を参照します。min(CPUCount*2, 8)値を指定すると、CPUCount*2と8の間の値が小さくなります。 |
BuffersBUMin |
64 | サイクルごとに更新するページの最小数 | |
BuffersBUMax |
128 | サイクルごとに更新するページの最大数 | 最小値は 0 です。 最大値はシステム メモリによって制限されます。 |
DelayAfterCycles |
2 | 指定したサイクル数が完了した後、 BUDelay パラメーターを適用します |
|
BUDelay |
10 | 各 DelayAfterCycles 操作の後に待機するミリ秒数 |
ShrinkUser セクション
SQLIOSim ツールは、 ShrinkUser セクションで指定した値を受け取り、DBCC 圧縮操作をシミュレートします。 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 パスがツールによってシミュレートされます。
既存のテスト ファイルの圧縮属性または暗号化属性を有効にすることができます。 テスト ファイルが作成される既存のディレクトリに対して、これらの属性を有効にすることもできます。 これらの属性を有効にする対応するオプションは、ファイルまたはディレクトリの Properties ダイアログ ボックスにあります。
既定では、SQLIOSim ツールは 、.mdx ファイル名拡張子と .ldx ファイル名拡張子を持つテスト ファイルを作成します。 そのため、これらのファイルは既存のデータ ファイルとログ ファイルを上書きしません。
警告
実際のSQL Server データを失わないようにするには、テスト用の実際のSQL Server データベース ファイルを指定しないでください。 SQLIOSim ツールは、ランダムなテスト パターンを使用してデータを上書きします。
SQLIOSim エラー ログと処理
SQLIOSim ツールは、次のいずれかの場所にエラー ログ ファイルを作成します。
- ログ スタートアップ パラメーターで指定する場所
-
Sqliosim.cfg.ini ファイルの
ErrorFile=行で指定した場所
SQLIOSim.log.xmlエラー ログには、実行に関する詳細が含まれています。 これらの詳細には、エラー情報が含まれます。 エラー情報と警告情報については、ログを注意深く確認してください。
注意
SQLIOSim ツールでエラーが発生した場合は、ハードウェアの製造元に問い合わせて、問題の根本原因を特定してください。 この問題は、デバイス ドライバー、ファイル システム フィルター ドライバー (ウイルス対策ソフトウェアなど)、または OS によっても発生する可能性があります。
複数のコピー
SQLIOSim ツールは、複数ファイル レベルのテストと複数ユーザー レベルのテストをサポートします。 SQLIOSim ツールでは、複数の呼び出しは必要ありません。 次の条件に該当する場合は、SQLIOSim ツールの複数のコピーを実行できます。
- すべてのコピーは、ツールの各インスタンスの一意のテスト ファイルを参照します。
- 各インスタンスの
MaxMemoryMBパラメーターは、インスタンスごとに十分な重複しないメモリ領域を提供します。
各インスタンスの MaxMemoryMB パラメーターの合計は、物理メモリの合計以下である必要があります。 チェックポイント シミュレーションなどの一部のテスト フェーズはメモリを大量に消費する可能性があり、複数のコピーを実行するとメモリ不足状態が発生する可能性があります。 メモリ不足エラーが発生した場合は、実行中のツール コピーの数を減らします。