UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

データファイルは大きいのがいいの?検証

データファイルは大きいのがいいの?検証


0.更新履歴

  • 2002.03.15 新規作成.
  • 2002.03.18 並列でちっちゃいファイル複写の計測と結果の追加.
  • 2002.03.19 大きいファイルとの比較を追加.

1.はじめに

 このドキュメントでは,Windows2000サーバ上で,データファイルをSMBによってネットワーク転送する場合,ファイルサイズの関係によってどの程度差があるのかを検証する為のものである.

 この検証は,たとえば,Oracleでオープンバックアップをしたデータファイルを,別のサーバに転送して利用する際に,より効率の良い方法を導くものである.

2.テストその1 ファイルは小さいほうが良いのではないか

2.1.仮説

 同じ容量のデータファイルを使用する場合,単一の大きいファイルより,複数の小さいファイルの方が,転送効率は良いのではないか.

でっかいファイル 1GB単一ファイル.
ちっちゃいファイル 256MB×4ファイル. こっちの方が速いのでは?

2.2.テストパターンと内容

パターンNo 内容
1 1GBの単一ファイル
2 512MB×2ファイル
3 256MB×4ファイル

  • あらかじめ,どこかのドライブをマウントしておく.
  • コマンドプロンプトを起動し,その上で,copyコマンドを使って複写する.
  • このテストのために,特別に独立したネットワークは作らない.
  • 使ったバッチファイルは次のとおり.

テストで使ったバッチファイル
@echo off

echo 1GB Start
now
copy s:\test1g.dat
now
echo 1GB End
echo 512MB Start
now
copy s:\test51*.dat
now
echo 512MB End

echo 256MB Start
now
copy s:\test25*.dat
now
echo 256MB End

  • Win2000についている,timeコマンドでは秒まで表示されないので,NT4.0リソースキットについているnow.exeを使っている.

2.3.結果

  • 上記のサイズ別のパターンを,3回行ってみた.

1GB 512MB 256MB
1回目 開始 18:08:27 18:10:56 18:13:24
終了 18:10:56 18:13:24 18:15:55
経過時間 00:02:29 00:02:28 00:02:31
2回目 開始 18:45:17 18:47:43 18:50:10
終了 18:47:43 18:50:10 18:52:39
経過時間 00:02:26 00:02:27 00:02:29
3回目 開始 19:05:06 19:07:32 19:10:00
終了 19:07:32 19:10:00 19:12:35
経過時間 00:02:26 00:02:28 00:02:35
平均 00:02:27 00:02:28 00:02:32

 どの結果も,同じ結果が出ている.
 合計サイズが同容量であれば,ファイル数が少ないほうが高速に複写されるようである.

3.並列で複写をした場合にどうなるか

 256MBのファイル4つ,合計1GBのファイルを,並列で複写した場合,速いか遅いかを確認する.

 並列というのは,コマンドプロンプトを4つ開いて,それぞれで256MBの別々のファイルをほぼ同時にcopyコマンドを実行した結果である.

1回目 2回目 3回目
開始 21:36:11 21:42:22 21:48:45
終了 21:41:32 21:47:31 21:54:22
経過時間 00:05:21 00:05:09 00:05:37
平均 00:05:22

 並列で複写させると,オーバヘッドがかかるためか,直列時の2倍の時間が必要になっている.

 この結果から考えると,データベースのような常時I/Oが多いアプリケーションが稼動している際に,I/O負荷の高い処理を行うのは,あまりお勧めできないのかもしれない...

4.大きいファイル時の1MBあたりの転送効率

 さらに大きいファイルをcopyして,その経過時間から転送量を計算し,秒あたりの転送量を調べる.

256MBファイルの複写
1回目 2回目 3回目
開始時刻 12:18:49 12:18:49 12:28:33
終了時刻 12:19:27 12:19:27 12:29:15
経過時間 00:00:38 00:00:38 00:00:42
38 38 42
転送MB/sec 6.74 6.74 6.10

512MBファイルの複写
1回目 2回目 3回目
開始時刻 12:32:47 12:41:24 12:46:44
終了時刻 12:33:59 12:42:36 12:47:56
経過時間 00:01:12 00:01:12 00:01:12
72 72 72
転送MB/sec 7.11 7.11 7.11

1GBファイルの複写
1回目 2回目 3回目
開始時刻 18:08:27 18:45:17 19:05:06
終了時刻 18:10:56 18:47:43 19:07:32
経過時間 00:02:29 00:02:26 00:02:26
149 146 146
転送MB/sec 6.87 7.01 7.01

2GBファイルの複写
1回目 2回目 3回目
開始時刻 11:09:35 11:25:16 11:30:46
終了時刻 11:14:50 11:30:22 11:36:17
経過時間 00:05:15 00:05:06 00:05:31
315 306 331
転送MB/sec 6.50 6.69 6.19

3GBファイルの複写
1回目 2回目 3回目
開始時刻 11:37:04 11:50:11 11:59:58
終了時刻 11:45:34 11:58:52 12:08:43
経過時間 00:08:30 00:08:41 00:08:45
510 521 525
転送MB/sec 6.02 5.90 5.85

平均
1ファイルのサイズ 転送速度

256MB

6.52MB/sec
512MB 7.11MB/sec
1GB 6.97MB/sec
2GB 6.46MB/sec
3GB 5.92MB/sec

 この結果から,転送効率が良いのは,単一512MBか1GBファイルとなる.
 特に,7MB/sec出ているので,これが100Mbit Etherの限界に近い数値がでている.



広告スペース
Google