(Windows Server 2008 もしくはVista以前はSMB1.0を使用。クライアントもしくはサーバーにSMB1.0を使用するwindowsが存在するとその通信はSMB1.0となる)
D:\>timeit cmd /c copy \\test-server-b\d$\test\* d:\test\
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 7:23 pm, Tuesday, February 16 2010
Elapsed Time: 0:51:09.923
Process Time: 0:03:46.560
System Calls: 76338845
Context Switches: 14052285
Page Faults: 55440239
Bytes Read: 51429978
Bytes Written: 4273052671
Bytes Other: 82824014
copyコマンド実行時間:51分9秒
よって、転送速度66.7MB/s(535.4Mbps)
D:\>timeit ftp -s:ftp.dat -n test-server-a
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 10:57 am, Wednesday, February 17 2010
Elapsed Time: 0:40:40.644
Process Time: 0:03:39.165
System Calls: 66188367
Context Switches: 55238659
Page Faults: 53836876
Bytes Read: 792516801
Bytes Written: 5386807
Bytes Other: 8507118
D:\>timeit cmd /c copy \\test-server-b\d$\test\* d:\test\
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 12:26 am, Wednesday, February 17 2010
Elapsed Time: 0:47:06.363
Process Time: 0:03:50.163
System Calls: 77630459
Context Switches: 12702180
Page Faults: 56138851
Bytes Read: 1282949592
Bytes Written: 4272973848
Bytes Other: 93543473
copyコマンド実行時間:47分6秒
よって、転送速度72.5MB/s(579.8Mbps)
D:\>timeit ftp -s:ftp.dat -n test-server-a
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 1:41 pm, Wednesday, February 17 2010
Elapsed Time: 0:44:06.902
Process Time: 0:02:06.922
System Calls: 82429124
Context Switches: 53730242
Page Faults: 54414909
Bytes Read: 484471299
Bytes Written: 10307667
Bytes Other: 50425857
D:\>timeit cmd /c copy \\test-server-b\d$\test\* d:\test\
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 4:39 pm, Wednesday, February 17 2010
Elapsed Time: 0:45:15.060
Process Time: 0:03:46.887
System Calls: 56250130
Context Switches: 7866155
Page Faults: 55706263
Bytes Read: 430903384
Bytes Written: 4266955053
Bytes Other: 45221805
copyコマンド実行時間:45分15秒
よって、転送速度75.3MB/s(603.5Mbps)
D:\>timeit ftp -s:ftp.dat -n test-server-a
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 5:59 pm, Wednesday, February 17 2010
Elapsed Time: 0:44:03.694
Process Time: 0:02:11.243
System Calls: 64105231
Context Switches: 23169186
Page Faults: 54286354
Bytes Read: 1210790756
Bytes Written: 12266034
Bytes Other: 45664752
ftpコマンド実行時間:44分3秒
よって、転送速度77.5MB/s(619.9Mbps)
LAN内、cifsとftpの速度比較結果まとめ
| cifsプロトコル スループット | ftpプロトコル スループット |
テストケース1 (4KB→4KB) | 66.7MB/s (535.4Mbps) | 83.9MB/s (671.5Mbps) |
テストケース2 (4KB→64KB) | 72.5MB/s (579.8Mbps) | 77.4MB/s (619.2Mbps) |
テストケース3 (64KB→64KB) | 75.3MB/s (603.5Mbps) | 77.5MB/s (619.9Mbps) |
FTPプロトコルはアロケーションユニットサイズよってほぼ変化はない。
CIFS(Windows共有)プロトコルSMB2.0はアロケーションユニットサイズによってスループット(速度)変化があった。
LAN内でのcifsとftpのスループット比較、結果と考察
cifs(windows共有)よりわずかにFTPの方がプロトコル的に転送速度は速いが、距離の近いLAN内ではあまり違いはない。
SMB2.0ではアロケーションユニットサイズを変更することにより、大きいファイルの転送時には転送速度をわずかに上げることが可能。
上記、テストケース1・テストケース2・テストケース3において、ストレージに負荷はあるが明らかなストレージネック(ディスクビジー率が100%等)はなかった。
LANネットワーク帯域の50%~60%使用できている。
今回のテストではRAID10のストレージを使用した。
Writeスループットが150MB/s(1200Mbps)と想定すると上記結果は確かにディスクネック状態にないと言える。
もちろんReadスループットも同様にディスクネック状態ではない。
しかし、RAID5のストレージを使用した場合、Writeスループットを25MB/s(200Mbps)と想定すると、20%程度のネットワーク帯域の使用でディスクネックとなると思われる(大容量のデータ転送の場合)。
また、今回はLAN内でのテストだったが
ネットワークに遅延があるようなWAN環境ではcifsとftpのプロトコル性能事情は変わる。
ネットワーク(LAN)バックアップサーバーを上記ディスク本数でRAID5とRAID10を想定スループットで検討
1日のバックアップウィンドウは8時間とする。
RAID5:
ディスク総容量、3TB
想定Writeスループット、25MB/s
計算上1日に書き込める容量、25MB/s × (8時間 × 60 × 60) = 720000MB ≒ 700GB
計算上バックアップを書き込める容量の70%(バックアップ検証やその他処理)と想定すると、490GB
計算上世代数は、6世代保持ができる
RAID10:
ディスク総容量、2TB
想定Writeスループット、150MB (65MB/sで頭打ちとする)
計算上1日に書き込める容量、65MB/s × (8時間 × 60 × 60) = 1872000MB ≒ 1800GB
計算上バックアップを書き込める容量の70%(バックアップ検証やその他処理)と想定すると、1260GB
計算上世代数は、1世代保持ができる
実際はほとんどのバックアップソフトには圧縮ディスク保存となるのでそのことを考慮すべきです。
RAID10を使用した方が、一日のバックアップウィンドウ(バックアップ時間)内にバックアップ出切るデータ量は増えるが、その分バックアップ世代数の保持ができなくなる。
しかし、バックアップにもフルバックアップだけでなく差分や増分バックアップを組み合わせる事により安いディスクでRAID10の使用することによりバックアップ設計が楽になったりもする。
ネットワーク(LAN)バックアップ運用の安全設計を考えると、
1日フルバックアップ対象サイズ合計が400GB以下の場合、RAID5のバックアップサーバー1台でもOK。
1日フルバックアップ対象サイズ合計が400GB以上の場合、RAID10のバックアップサーバー1台(スケールアップ)またはRAID5のバックアップサーバー2台(スケールアウト)の選択がよいかと思います。
おまけテスト情報
テスト3状態で、サーバーB仮面でサーバーAにFTP接続しサーバーAからテストデータファイルをmgetした場合
D:\>timeit ftp -s:ftp.dat -n test-server-a
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 3:44 pm, Wednesday, February 17 2010
Elapsed Time: 1:06:23.128
Process Time: 0:08:47.782
System Calls: 108038588
Context Switches: 16396968
Page Faults: 160717131
Bytes Read: 1278651463
Bytes Written: 238549921
Bytes Other: 3711282326
FTPのmget(getコマンド)はmput(putコマンド)より遅い。
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 10:01 am, Wednesday, February 17 2010
Elapsed Time: 0:00:15.071
Process Time: 0:00:00.436
System Calls: 525064
Context Switches: 262390
Page Faults: 129768
Bytes Read: 250312332
Bytes Written: 127765
Bytes Other: 237914003
D:\>chkdsk d:
ファイル システムの種類は NTFS です。
ボリューム ラベルは ボリューム です。
警告: /F パラメータが指定されていません
CHKDSK を読み取り専用モードで実行します。
ファイル システムのチェックが終了しました。問題は見つかりませんでした。
1900017663 KB : 全ディスク領域
3093952 KB : 12 個のファイル
256 KB : 14 個のインデックス
0 KB : 不良セクタ
70015 KB : システムで使用中
65536 KB : ログ ファイルが使用
1896853440 KB : 使用可能領域
65536 バイト : アロケーション ユニット サイズ
29687775 個 : 全アロケーション ユニット
29638335 個 : 利用可能アロケーション ユニット
Version Number: Windows NT 6.0 (Build 6002)
Exit Time: 11:35 am, Wednesday, February 17 2010
Elapsed Time: 0:00:06.579
Process Time: 0:00:00.140
System Calls: 249907
Context Switches: 85642
Page Faults: 28521
Bytes Read: 90229309
Bytes Written: 99144
Bytes Other: 15097681