記事検索

検索ワードを入力してください。
Sky Tech Blog
Windows標準の​システム評価ツールの​ディスク速度を​実際の​ファイルコピーで​検証

Windows標準の​システム評価ツールの​ディスク速度を​実際の​ファイルコピーで​検証

Windowsの評価ツールWinSATを使用してディスク性能を評価し、実際のファイルコピー速度と比較する手順と結果について説明しています。具体的なコマンドやスクリプトを用いて、内蔵SSDとUSBメモリの性能を測定し、計算結果と実測値の差異を分析しています。

Windowsには WinSATというシステムの評価ツールがあります。 標準のコマンドでディスクやメモリ、CPUやグラフィックなどの性能評価が行えます。

この WinSAT で表示されるディスクの性能評価を実際のファイルコピーと比較してみました。

コピー元内蔵SSDと​コピー先USB2.0の​メモリで​試します。

1.管理者権限で​コマンドプロンプトを​起動します。

2.以下の​コマンドで​コピー元(Cドライブ)の​内蔵SSDの​性能を​チェックします。

winsat disk -drive c

読み込み速度は 2220.066MB/s = 2328530780B/s (1M=1048576バイトで計算)

3.同様に、​コピー先(Uドライブとした​場合)の​USBメモリの​性能を​チェックします。

winsat disk -drive u

書き込み速度が 19.22MB/s = 20153630.72B/s (1M=1048576Bバイトで計算)
空き容量がないと書き込み評価は失敗します。

4.テスト用に​ 500,000,000バイトの​ファイルを​作成

今回は以下のVBScriptでファイルを作成

Set FSOObj = CreateObject("Scripting.FileSystemObject")
Set objFile1 = FSOObj.CreateTextFile(".\500MB.txt", True)
objFile1.WriteLine(Space(499999998))
objFile1.Close
Msgbox "終了"

5.WinSAT で​表示された​速度から​試算

読み込み 500,000,000 ÷ 2,328,530,780 = 0.214727675 秒
書き込み 500,000,000 ÷ 20,153,630.72 = 24.8094255 秒

合計して 25.23888085 、25.24秒くらいがディスクアクセスにかかる時間と試算

6.ファイルを​コピーして​時間を​計測

以下のバッチファイルでコピーと時間の計測

@echo off
CD %~dp0
Set StartTime=%time%
copy 500MB.txt U:\
echo 終了: %time%
echo 開始: %StartTime%
Pause


27.11秒
試算した25.24秒とは1.87秒の差異。
この差異がCPUの処理時間等々だと思われます。

7.ファイル数が​多い​ときの​テストも​実行

1,000,000バイトのファイルを500ファイル作成して1ファイルの時と合計が同じになるよう作成
以下のVBScriptでファイルを作成

Set FSOObj = CreateObject("Scripting.FileSystemObject")
Set objFile1 = FSOObj.CreateTextFile(".\1MB_001.txt", True)
objFile1.WriteLine(Space(999998))
objFile1.Close
For i = 2 To 500
    FSOObj.CopyFile ".\1MB_001.txt", ".\1MB_" & Right("00" & CStr(i), 3) & ".txt", True
Next
Msgbox "終了"

8.ファイルを​コピーして​時間を​計測

以下のバッチファイルでコピーと時間の計測

@echo off
CD %~dp0
Set StartTime=%time%
copy 1MB*.txt U:\
echo 終了: %time%
echo 開始: %StartTime%
Pause


45.83秒
試算した25.24秒とは20.57秒の差異。
ファイル数500で割ると、1ファイル 0.04114秒
約41ミリ秒がCPUの処理時間等(プロンプトにファイル名表示する時間なども)だと思われます。

コピー元内蔵SSDと​コピー先USB3.0の​メモリで​試します。

同じ手順なので、要点のみ。

書き込み速度が 81.61MB/s = 85574287.36 B/s

読み込み 500,000,000 ÷ 2,328,530,780 = 0.214727675 秒
書き込み 500,000,000 ÷ 85,574,287.36 = 5.842876586 秒

合計して 6.272331936秒、6.27秒くらいがディスクアクセスにかかる時間

500×1をコピーすると 8.34秒、差異が2.07秒
1×500をコピーすると 30.78秒、差異を500で割ると 0.04902秒、49ミリ秒

以上のような結果になりました。
多少の誤差を考えると、十分に参考にできる値が返ってきていました。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム