ファイルコピーベンチマークのためダミーファイルを作りたい
今回共有フォルダでのファイル転送ベンチマークを測定しようと思ってました。
それで、ファイルサイズが小さい分と、大きい分のテストデータが必要になります。
そのダミーファイルを簡単につくる方法がないかとおもったら、有りました。
@IT:巨大なサイズのファイルを簡単に作る方法に載ってます。
fsutil というコマンドを使えば簡単にダミーファイルを作れるようです。
書式は下記のうような感じ。
fsutil file createnew ファイル名 サイズ
サイズは10進指定なので、WindowsでいうMやGの単位に合わせたいときは注意が必要ですね。(正確には2進接頭辞で表すとMi,Gi)
1Ki = 2^10 =1024
1Mi = 2^20 =1024x1024 = 1048576
1Gi = 2^30 =1024x1024x1024 = 1073741824
1Pi = 2^40 =1024x1024x1024x1024 =1099511627776
(このあたりの単位換算はWikipedia:2進接頭辞、伊勢雅英のIT見聞録、情報の単位を参照)
ただ、NTFSでファイルを作ったときは注意が必要なようです。
NTFSの場合、ファイルのブロックを予約するだけで実際のデータの記録はしてないようです。
ですので、fsutil でファイルを作ったら一旦コピーしてから使ったほうが無難ですね。
ファイルコピーの時間計測
コピーの時間の計測も参考元@ITにあるように、下記コマンドで測れます。
time /t && copy testfile testfile2 && time /t
しかし、これだと時間が分までしかでません。
ということで、秒単位で測るならバッチファイルにしてしまったほうが良いかと思います。
下記ようなバッチにしました。
@echo off
echo %time%
xcopy testfile testfile2 /q /i /E /Y
echo %time%
pause
これで簡単に任意のサイズのファイルを使ったベンチマークができますね。