WindowsでストレージパフォーマンスとIOPSを測定する方法は?
既存または設計されたストレージシステムのパフォーマンスを見積もることができる主要な指標の1つは、 IOPSです。 (1秒あたりの入出力操作 )。簡単に言うと、IOPSは、時間単位あたりのストレージ、ディスク、またはファイルシステムでの読み取り/書き込み操作の数です。この数値が大きいほど、ストレージのパフォーマンスが高くなります(率直に言って、IOPS値は、レイテンシ、スループットなどの他のストレージパフォーマンス特性と一緒に考慮する必要があります)。
この記事では、Windowsのストレージパフォーマンス(IOPS、レイテンシー、スループット)を測定するいくつかの方法を見ていきます(このマニュアルは、ローカルハードドライブ、SSD、SMBネットワークフォルダー、CSVボリューム、またはSAN /iSCSI上のLUNに使用できます)。ストレージ)。
パフォーマンスモニターの組み込みのディスクパフォーマンスカウンターを使用して、Windowsの現在のストレージI/Oワークロードを概算できます。 。これらのカウンターデータを収集するには:
- パフォーマンスを開始します;
- 新しいデータコレクターセットを作成 手動で作成を選択します;
- チェックボックスデータログの作成を選択します ->パフォーマンスカウンター;
- 新しいデータ収集セットのプロパティに、物理ディスクの次のパフォーマンスカウンターを追加します。 オブジェクト(特定のディスクまたは使用可能なすべてのローカルディスクのカウンターを選択できます):
- 平均ディスク秒/転送
- 平均ディスクキューの長さ
- 平均ディスクバイト/転送
- ディスクバイト/秒
- ディスク転送/秒
- スプリットIO/秒
- 他のデータ収集プロパティを変更できます。デフォルトでは、カウンタ値は15秒ごとに収集されます。リアルタイムのディスクパフォーマンスを表示するには、監視ツール->パフォーマンスモニターで指定されたPerfmonカウンターを追加する必要があります。 セクション。
- パフォーマンスカウンターデータの収集を開始する必要があります(開始を選択) )そして分析のために十分な情報が収集されるのを待ちます。その後、データコレクターセットを右クリックして、[停止]を選択します;
- 収集されたパフォーマンスデータを表示するには、パフォーマンス->レポート->ユーザー定義-> Data_Disk_IO —> check_the_last_setに移動します。 。デフォルトでは、ディスクデータはグラフとして表示されます。
- Ctrl+Gを使用してレポートに切り替えます モード。
Perfmonによって収集されたストレージパフォーマンスカウンターを理解するにはどうすればよいですか?ディスク/ストレージのパフォーマンスをすばやく分析するには、少なくとも次の5つのカウンターの値を確認する必要があります。
カウンターデータを分析するときは、現在の物理ディスク(ストレージ)構成(RAIDまたはStripeのどちらが使用されているか、ディスクの数と種類、キャッシュサイズなど)を理解することをお勧めします。- ディスク秒/転送 –ストレージデバイスまたはディスクで1回の書き込み/読み取り操作を実行するために必要な時間(ディスク遅延 )。遅延が25ミリ秒(0.25)を超える場合、ディスクアレイは時間どおりにI/O操作を処理できません。高負荷サーバーの場合、ディスク遅延値は10ミリ秒(0.1)を超えてはなりません。
- ディスク転送/秒 –(IOPS)。 1秒あたりの読み取り/書き込み操作の数。これは、ディスクアクセス強度の主な指標です(さまざまなディスクタイプの概算IOPS値は、記事の最後に記載されています)。
- ディスクバイト/秒 – 1秒あたりの合計ディスクスループット(読み取り+書き込み)。最大値はディスクタイプによって異なります(150〜250 Mb / s –通常のHDDディスクの場合は500〜10000、SSDの場合は500〜10000)。
- 分割IO/秒 – オペレーティングシステムが1つのI/O操作を複数のディスク要求に分割する必要がある場合のディスク断片化インジケータ。また、アプリケーションが1回の操作で転送できない大きすぎるデータブロックを要求していることを示している場合もあります。
- 平均ディスクキューの長さ – キューに入れられた読み取り/書き込み要求の平均数。単一のディスクの場合、キューの長さは 2を超えてはなりません 。 4つのディスクのRAIDアレイの場合、ディスクキューの長さのしきい値は8です。
DiskSpd:WindowsでのディスクパフォーマンスとIOPSのテスト
DiskSpdの使用をお勧めします (https://aka.ms/diskspd)ディスク(ストレージ)システムに負荷を生成し、そのパフォーマンスを測定するためのユーティリティ。これは、複数のスレッドで指定されたドライブターゲットを使用してI/O操作を実行できるコマンドラインインターフェイスツールです。私は頻繁にDiskSpdを使用してストレージのパフォーマンスを測定し、特定のサーバーから利用可能な最大の読み取り/書き込み速度とIOPSを取得します(もちろん、ストレージのパフォーマンスも測定できます。この場合、diskspdを使用してストレージの負荷を生成します)。
DiskSpdはインストールを必要とせず、アーカイブをダウンロードしてローカルディスクに抽出するだけです。 x64ビットシステムの場合は、 amd64freのバージョンのdiskspd.exeを使用します ディレクトリ。
次のコマンドを使用して、ディスクのパフォーマンスをテストします。
diskspd.exe –c50G -d300 -r -w40 -t8 -o32 -b64K -Sh -L E:\diskpsdtmp.dat > DiskSpeedResults.txt
-
-c50G
–ファイルサイズ50 GB(ストレージコントローラーのキャッシュに収まらないように、大きなファイルサイズを使用することをお勧めします)。 -
-d300
–秒単位のテスト期間; -
-r
–ランダムな読み取り/書き込み操作(順次アクセスをテストする必要がある場合は、–sを使用)。 -
-t8
–スレッドの数; -
-w40
–読み取り操作に対する書き込みの比率40% / 60%; -
-o32
—キューの長さ; -
-b64K
—ブロックサイズ; -
-Sh
—キャッシュを使用しないでください; -
-L
—レイテンシを測定します; -
E:\diskpsdtmp.dat
–テストファイルパス。
ストレステストが完了すると、出力テーブルから平均ストレージパフォーマンス値を取得できます。
私のテストでは、次のパフォーマンスデータ(合計IOテーブルを確認)が取得されました:
- MiB / s — 241(約252 Mb / s、悪くない)
- IOPS — 3866(完全に良好です!);
- 平均遅延— 66.206ミリ秒(かなり大きな遅延です!)
読み取り(セクション読み取りIO)または書き込み(セクション書き込みIO)操作の個々の値を取得できます。
diskpdを使用して複数のディスクまたはストレージLUNをテストしたら、それらを比較したり、タスクに必要なパフォーマンスを備えたアレイを選択したりできます。
PowerShellを使用してストレージIOPS、スループット、レイテンシーを測定する方法
PowerShellスクリプト(Mikael Nystrom、Microsoft MVPによる)を見つけました。これは基本的に SQLIO.exeのアドオンです。 ユーティリティ(一連のファイルストレージパフォーマンステスト)。
注 。 2015年12月、Microsoftは、このツールのサポートを終了し、SQLIOをより汎用的なツール Diskspdに置き換えることを発表しました。 、およびそのWebサイトからSQLIO配布ファイルを削除しました。したがって、自分でsqlio.exeを検索するか、当社のWebサイトからダウンロードする必要があります(PowerShellスクリプトとともにアーカイブにあります)。したがって、2つのファイルを含むアーカイブをダウンロードします: SQLIO.exe およびDiskPerformance.ps1 (disk_perf_iops.ZIP — 74 KB)そしてそれを任意のフォルダーに抽出します。
PowerShellスクリプトを実行してディスクパフォーマンスとIOPSを見積もる例:
.\DiskPerformance.ps1 -TestFileName test.dat –TestFileSizeInGB 1 -TestFilepath C:\temp -TestMode Get-LargeIO -FastMode True -RemoveTestFile True -OutputFormat Out-GridView
スクリプトの引数について考えてみましょう:
-
–TestFileName test.dat
–FSUTILツールによって作成されたファイルの名前; -
–TestFileSizeInGB 1
–テストファイルのサイズ。可能な値は1.5、10、50、100、500、1,000GBです。ファイルサイズは、ストレージシステムキャッシュのサイズよりも大きくする必要があります。それ以外の場合、IOPSは、ディスクではなくキャッシュデータに対して測定されます。 -
-TestFilepath C:\Temp
–ここでは、パフォーマンスを測定するディスクと、テストファイルが作成されるディスク上のフォルダーを指定します。ネットワーク共有フォルダ(SMB)へのUNCパスを指定することもできます。 -
-TestMode Get-LargeIO
–入出力測定には2つのオプションがあります。 Get-SmallIO IOPS、および Get-LargeIOを測定できます データ転送速度を測定します。 SmallIO引数とLargeIO引数の違いは、レートを測定する際のブロックサイズが8KBと512KBであり、アクセスのタイプ(ランダムまたはシーケンシャル)に対応しています。 -
-FastMode True
–高速モードでは、各テストは10秒実行されます。それ以外の場合は、60秒かかります。 -
-RemoveTestFile True
–テストが終了したら、テストファイルを削除します。 -
-OutputFormat Out-GridView
–テスト結果は、PowerShellコンソール(形式-テーブル)のいずれかに表示できます。 )または別のグラフィックチャートウィンドウ( Out-Gridview 。
私たちの場合(SAN経由で接続されたHP MSA 2040のVMFSデータストア上のvmdk仮想ディスクが使用されています)、ディスクアレイは約 15,000の平均IOPS値を示しました。 およびデータ転送速度(スループット)は約 5Gbit / s 。
次の表に、さまざまなディスクタイプのおおよそのIOPS値を示します。
タイプ | IOPS |
SSD(SLC) | 6000 |
SSD(MLC) | 1000 |
15K RPM | 175-200 |
10K RPM | 125-150 |
7.2K RPM | 50-75 |
10KRPMの6台のドライブのRaid5 | 1000 |
いくつかの人気のあるMicrosoftサービスのIOPSでのディスクパフォーマンスに関するいくつかの推奨事項を見つけました:
- Microsoft Exchange 2010 5,000人のユーザーがいる場合、各ユーザーは1日あたり75を受信し、30通のメールを送信します。少なくとも3,750IOPSが必要です。
- Microsoft SQL 2008 Server 1秒あたり3,500のSQLトランザクション(TPS)には、28,000のIOPSが必要です。
- 一般的なWindowsアプリケーションサーバー 10〜100ユーザーの場合、10〜40IOPSが必要です。
-
Windows 10、8、7、および xp でディスク容量を分析する方法
コンピュータのパフォーマンスを向上させたい場合は、ハードウェア部品ではなくディスク容量に注目してください。ディスク容量が少ないと、コンピューターの速度が低下する可能性があります。システムがいっぱいになり、システムに十分なディスク容量がないことを示すポップアップが表示されても、気付かないでしょう。 この問題に直面している場合は、Disk Analyzer Pro を使用できます。これは、Windows のディスク領域を解放して分析するのに役立ちます。これは、ディスク全体の使用状況を分析およびスキャンするユーティリティ アプリです。 Windows のディスク容量を分析する Disk Anal
-
Windows 10 でパスワード リセット ディスクを作成して使用する方法
セキュリティ上の懸念から、人々は PC の強力なログイン パスワードを保持し始めています。これは時代のニーズであり、セキュリティを提供しますが、非常に多くのパスワードを覚えるのは困難です。 そうは言っても、Windows 10 PC にログインしようとして Enter キーを押すとすぐに、パスワードが正しくないというメッセージが表示される場合があります。考えられるすべての組み合わせを試してもログインできず、Windows パスワードをリセットするしか解決方法がありません。 さて、次の質問は、既存のログイン パスワードを入力せずにパスワード リセット ウィザードにアクセスする方法です。パスワ