web-dev-qa-db-ja.com

DB復元とDBCCチェックのI / O負荷をシミュレートするには、どのユーティリティを使用できますか?

バックアップの検証とDBCCチェックの実行のために調達した新しいハードウェアで維持できるピーク負荷を把握しようとしています。 Crystal Diskmarkを使用してスループット統計を取得しているため、コピー/復元タスクのシーケンシャルI/Oのベンチマークに役立ちました。 DBCCチェックで維持できるランダムI/Oの量を測定するのに問題があります。私はiometerとsqliosimの使用を考えていますが、configがDBCCチェックをシミュレートするのに最もよく機能することを知りたいです。

私がテストしているハードウェアは、8コア用のデュアルE5-2609を搭載した1つのR720、32 GB RAM、Windows 2008 R2 Standard、SQL Server 2008 R2 Standard with SP2、および24 15kのPowerVault 3620f SASスピンドルはR720の2つのデュアルポートHBAに接続されています。私は4、8、12スピンドルRAID 0グループで実験しています(DBの寿命は数分の一部であるため、フォールトトレランスを失う余裕があります)テストプロセスの)。

ディスクの競合にぶつかることなく、上記のハードウェアで複数のDBCCチェックを同時に実行できると思います。 RAM= 64 GBおよびO/Sをエンタープライズにアップグレードするオプションがありますが、ライセンスコストのためにSQLをエンタープライズにアップグレードできません。

Iometer、sqliosim、または別のユーティリティを使用してDBCCの最大ランダムI/Oを決定する方法に関する提案があれば、深く感謝します。

5
MattyZDBA

SQLIOはrawディスクのテストに適していますIO負荷テストですが、包括的な負荷テストをシミュレートするには、ほとんどのSQLサーバーインストールに含まれているSQLプロファイラツールを使用するか、SQLロードテストユーティリティを使用します。 。 ここ は、これらのユーティリティを使用してプロファイラーやその他のストックユーティリティを使用して目標を達成するためのいくつかの異なる方法へのリンクです。

記録したい通常のロード中にプロファイラーを実行し、それを保存し、サーバーに対して再生して、現実的な負荷の下で負荷テストを行うことができます。 SQL Server 2012を使用している場合は、分散再生ユーティリティを使用して同じ種類のテストを実行できますが、複数のソースから負荷をシミュレートできます。商用オプションを探している場合は、SQL Serverの負荷テストを実行するために使用できるQuest Softwareのツール Benchmark Factory をご覧ください。

1
jwhaley58

この質問が長い間答えられなかったことに驚いています。

このシナリオでは、SQLIOなどのツールを使用して合成ベンチマークを実行するのではなく、実際のRESTORE DATABASEおよびDBCC CHECKDBパフォーマンス。 SQLIOまたはCrystal Diskmarkは、I/Oサブシステムのパフォーマンス特性に関する有用な情報を提供しますが、特定のニーズに対して期待されるパフォーマンスを実際に示すのは、RESTORE DATABASEおよびDBCC CHECKDB実行するデータベース上で実行するコマンド。

負荷テストの実行中にPerfmonで監視し、スループット(Logical Disk:Bytes/Sec)は一定であるがレイテンシ(Logical Disk:avg。disk sec/transfer)が増加するポイントを監視します。ボトルネックに陥った場合は、調査と調整を行うか、パフォーマンスが許容範囲内かどうかを判断する必要があります。 DBCC CHECKDBは、同時整合性チェックが1つしかなくても、I/Oサブシステムを意図的に飽和させますが、I/Oサブシステムがビジー状態を維持するのに役立つため、これは必ずしも悪いことではありません。

1
James L