Windowsプログラムの実行時間を計るには Windows Resource Kits にあるtimeitコマンドが便利です。 Windows XPのリソースキットのtimeit.exeの単体exeコピーで ・windows server 2003 ・windows server 2008 上で動作しました。
環境 ・Windows Server 2003 R2 ・AX4-5i パーティション2TB NTFS クラスタサイズ4KB ■ 書き込み速度テスト # test,dat はfsutilで作成した10GB(10737418240Byte)ファイル。その後「内容を圧縮してディスク領域を節約する」した。 # 4KBに圧縮する事により、同一ディスクに配置したにも関わらずriad i/o(読み取り)の負荷をなくしている。 Z:>timeit.exe cmd /c copy test.dat test2.dat 1 個のファイルをコピーしました。 Version Number: Windows NT 5.2 (Build 3790) Exit Time: 7:01 pm, Monday, February 8 2010 Elapsed Time: 0:01:38.559 Process Time: 0:00:27.390 System Calls: 1022071 Context Switches: 1213144 Page Faults: 6235909 Bytes Read: 2364206059 Bytes Written: 3197640166 Bytes Other: 3186456046 テストデータファイル: test.dat(10737418240bytes) Write 104MB/s 全て"同一の0"の書き込み(write i/o)により、書き込みキャッシュが効果を発揮していると思われる。 この方法で書き込みストレステストをするには、ランダムデータのファイルを別の負荷が影響しないディスクに配置する必要がありそうだ。 そうなると簡単により純粋な書き込み速度を計ることは難しい Z:>timeit.exe cmd /c copy D:\temp\B2D000037.bkf test2.dat 1 個のファイルをコピーしました。 Version Number: Windows NT 5.2 (Build 3790) Exit Time: 10:26 am, Tuesday, February 9 2010 Elapsed Time: 0:00:46.795 Process Time: 0:00:07.703 System Calls: 535814 Context Switches: 514224 Page Faults: 1591641 Bytes Read: 2129859627 Bytes Written: 1427027240 Bytes Other: 1153473667 テストデータファイル: B2D000037.bkf(3,086,509,056bytes) 64 MB/s ■ 読み込み速度テスト Z:>timeit.exe cmd /c copy test2.dat nul 1 個のファイルをコピーしました。 Version Number: Windows NT 5.2 (Build 3790) Exit Time: 7:28 pm, Monday, February 8 2010 Elapsed Time: 0:03:14.354 Process Time: 0:00:32.671 System Calls: 1687216 Context Switches: 1180498 Page Faults: 2891338 Bytes Read: 3837852003 Bytes Written: 2169762704 Bytes Other: 323754538 テストデータファイル: test.dat(10737418240bytes) read 52MB/s Z:>timeit.exe cmd /c copy test2.dat nul 1 個のファイルをコピーしました。 Version Number: Windows NT 5.2 (Build 3790) Exit Time: 10:35 am, Tuesday, February 9 2010 Elapsed Time: 0:00:00.000 Process Time: 0:00:00.000 System Calls: 1542 Context Switches: 212 Page Faults: 678 Bytes Read: 66048 Bytes Written: 13364 Bytes Other: 3674711 テストデータファイル: test2.dat(3,086,509,056bytes) 測定ならず。"0"埋めデータファイルとの違いが気になる。 Z:>timeit.exe cmd /c type test2.dat >nul Version Number: Windows NT 5.2 (Build 3790) Exit Time: 10:51 am, Tuesday, February 9 2010 Elapsed Time: 0:15:28.944 Process Time: 0:04:32.859 System Calls: 211024228 Context Switches: 195416870 Page Faults: 1969242 Bytes Read: 2707111734 Bytes Written: 3239605962 Bytes Other: 26474037 テストデータファイル: test2.dat(3,086,509,056bytes) 3MB/s 遅すぎる。System CallsやContext Switchesが多い。 残念ながら、上記の簡易読み込みテストはディスクのストレステスト(負荷テスト)にならないことがわかった。 Windows Server 2008でリソースモニターを見ながらテストすると簡単に意味をなしていないことがわかる。 windowsのnulというデバイスはやはり特殊なデバイスなのかもしれない。 |
ストレステスト・負荷テスト(ベンチマークソフト)
サブページ (8):
FC、iSCSI、およびNFSを使用するVMware vSphereとESX3.5パフォーマンス比較(ジャンボフレームも)
Hyper-v2: 仮想HDDの容量固定と容量可変のディスク性能パフォーマンスの違い(性能差)
VMware vSphere 4.1 (VMFS3.46) パフォーマンス測定テスト
Windows共有CIFS(SMB2.0)の転送速度パフォーマンス性能の能力!
ベンチマーク:CrystalDiskMark ストレージ(ディスク)パフォーマンス測定ツール
ベンチマーク:Iometerの設定方法・使用方法、ストレージパフォーマンステスト(ディスク負荷テスト)
ベンチマーク:IOzone、ストレージ(ディスク)パフォーマンス測定ツール
ベンチマーク:メモリ転送速度パフォーマンス測定ツール、stream(stream.exe)
Comments