
私の設定:
ソース サーバーとターゲット サーバー (M1000e Dell エンクロージャにインストール):
- Dell Poweredge M620 (ブレード サーバー)
- 2x Intel E5-2650 @ 2GHz プロセッサ
- 192GB RAM (DDR3、1333Mhz
- Perc H310 RAID コントローラ (スロットあたり 6Gbe)
- 2x 1.7TB SSD (Sata) ドライブ (RAID-0)
2x 10Gbe NIC (MS チーム、スイッチ非依存、動的、すべてのアダプタがアクティブ)
Windows 2012 R2 (デフォルトインストール)
システム管理ページファイル
サーバーは内部エンクロージャのForce10 MXL 10Gbスイッチに接続されています
ジャンボパケットが設定されている(NICおよびスイッチポート)
使用事例:
大きなファイル (200 GB 以上) をソース サーバーと宛先サーバー間でコピー (Windows コピー) する場合 (どちらの方向にも発生し、どちらの方向にも発生します)、コピーは ~1 GB/秒 (~2 GB/秒を予想していたにもかかわらず) という安定した転送速度で開始されますが、途中のどこかで、転送の残りの部分で数 MB/秒 (!) に低下します。
より鮮明な画像をご覧になりたい場合は、下の画像をご覧ください。
RAM がコピー操作に影響しているようです。
どのように、またなぜ影響するのでしょうか?
答え1
- サーバー間の帯域幅は 10Gbit/s です。
- SSDの帯域幅は6Gbit/sで、そのうち約4Gbitが書き込み速度です。
したがって、最初のフェーズでは、ファイル データは 10Gbit/s 近くで入力され、そのうち 4Gbit/s はディスクに移動され、4Gbit/s はキャッシュに残ります。
約 100 秒後にキャッシュの半分がいっぱいになり、Windows は転送の調整を開始しますが、受信データとキャッシュ フラッシュは SSD が処理できる量を超えています。この結果、キャッシュがさらにいっぱいになります。
空き RAM が最終的に下限に達すると (またはダーティ キャッシュ サイズが上限に達すると)、Windows は転送をほぼゼロに制限して、キャッシュ フラッシュが追いつくようにします。
すべてのダーティ データが移動されると、転送速度が再び上昇し、平衡状態に達します (転送が終了しない限り)。
大きなファイルを移動するには、 によるファイル書き込みを使用するソフトウェアを使用する方がはるかに適切ですO_DIRECT
が、もちろんエクスプローラーではこれができません。