Windowsで任意サイズのファイルを作るには、「fsutil file createnew {ファイルパス} {バイト数}」コマンドを使います。例えば「1GBぴったりのファイルを作る」といったことができ、ネットワークやストレージの転送テスト、ダミーファイルの用意といったことに活用できます。
コマンド
Windowsのコマンドプロンプトで、以下コマンドを実行します。
1GBのファイルとして、C:\test\file.dat を作成する
→ 1(GB)×1024(MB)×1024(KB)×1024(Byte) = 1,073,741,824 Byte
fsutil file createnew C:\test\file.dat 1073741824
時間はほとんどかかりません。巨大なサイズでも、すぐに作成完了します。
何の役に立つの?
次のようなケースで有効です。
- ネットワークの転送テスト
- 巨大なファイルを実際にコピーしてみて、ネットワーク転送速度や負荷状況を調査するためのファイルを作る。
- ただしSMB圧縮などには注意(後述)。
- ストレージI/Oのテスト
- 上と似ていますが、HDD/SSDなどのストレージ読み書き速度や負荷状況を調査するためのファイルを作る。
- ただしその場合は、一度別ファイルとしてコピーしたほうが良い(後述)。
- ディスク容量のテスト
- 例えばディスククオータ機能で「このフォルダは30GBまでしか保存させない」と設定した場合の動作確認に使う。
- ダミーデータの作成
- プログラムのテストで、任意のサイズのダミーファイルを作成する。
留意点① ネットワーク転送テストでは圧縮転送に注意
ファイル転送プロトコルによっては、データを圧縮しながら転送する機能が働く場合があるようです(SMB圧縮など)。紹介したコマンドで作成したデータは「0」で埋め尽くされたデータになるため、圧縮機能があると転送効率が極めて高くなると思います。実際の転送データより良い結果が出てしまい、適切なテストにならない可能性が高いです。
留意点② ストレージI/Oテストでは一度別ファイルにコピーを
このコマンドで作成したばかりのファイルは、ファイルシステムによる「ごまかし」があるそうです。詳しくは@IT(別サイト)の記事を参照していただくとして、この「ごまかし」によってストレージからの読み込みは一瞬で終わるようになっています(実際にはストレージから読み込まない)。
ストレージI/Oのテストをする場合、これだと正しいテストにならないでしょう。この「ごまかし」を解除するためには、一度別ファイルとしてコピーして、そのコピーしたファイルを使う必要がありそうです。
おわりに
今回の記事は以上です。
当サイトでは、ITインフラ関連の知識やノウハウをメインに紹介しています。下の関連記事にも役立つ情報があるかもしれませんので、ぜひご覧下さい。
また、知識やノウハウを効率的に学ぶ方法として、Udemy の「ながらセミナー」もおすすめです。三日坊主にならず、普段の生活の中でスキルアップする方法です。これについては下の記事で紹介していますので、良ければご覧下さい。
最後まで読んでいただき、ありがとうございました。
フィードバック
あなたが抱えている疑問や悩みは解決できたでしょうか?当ブログではそれを最重視しています。今後もあなたの役に立つ情報を提供するために、ぜひ教えて下さい。
コメント