Windowsを利用していてWAN越しのファイル共有が遅い場合の検討事項

2016/01/25 Windows

windows-wan-slow
先日、弊社のお客様より、インターネットVPN経由(WAN越し)でファイルサーバへアクセスした場合のファイルオープンが遅いとご相談を頂きました。環境はファイルサーバとしてWindows Server 2003(R2?)、WANはギガビット回線を利用したインターネットVPN環境。
インターネットの閲覧は問題がないが、ファイル共有のみが遅いようで、1MB程度のxlsファイルをオープンすると、大体1分程度は掛かるとのお話。

スポンサーリンク


ファイル共有が遅延する原因と対策について、弊社では以下のようにお客様へご提案しております。WAN環境でのファイル共有が遅いという事象は、多拠点の環境の場合、良く発生する問題ですので、参考としていただければ幸いです。

1.SMB(CIFS)のバージョンについて

一般的にWAN経由の場合、ファイル共有はその他のプロトコルと比較して遅いことが殆どです。
原因はファイル共有の利用するCIFSプロトコルにあり、WAN経由でやり取りを行うにはCIFSプロトコルは、転送先とのやり取りが非常に多くTCPのような通信の確実性を担保している通信では、相当なパフォーマンスダウンとなります。特にWindows Server 2003までのCIFSは古いSMB(1.0)を利用しており、その遅さが顕著になるようです。

Windows7/Windows Server 2008 ではバージョンアップしたSMB2.0、2008R2ではSMB2.1の実装となります。Windows 8、Server 2012以上(送信元、送信先共に)だとファイルのやり取りを、さらにバージョンアップしたプロトコルであるSMB3.0を利用するので、1.0/2.0よりパフォーマンスが確保できるとの情報もありましたが、それも劇的にパフォーマンスアップを図ることは難しそうです。

実際にテストしてみると、確かにやや早いように感じるものの、全体のボトムアップという点では、疑問符が残る結果でした。もちろん、プロトコル以外にも原因がある可能性もありますので、具体的な調査方法について検討してみます。

2.ファイル共有、遅延についての調査方法

速度のボトルネックを以下のような調査で行う必要があると考えます。

  • ファイルオープン(SMB)が遅いのか、他のプロトコルも全て遅いのかを確認します。
    例えば、同じ容量のファイルをコピーする時間と、FTPでファイルをアップロードする時間を比較検討します。
  • 両方遅い場合、回線に問題があると判断ができます。(回線自体は速度が出ているため可能性は低い)
  • ファイルオープンのみが遅い場合(SMBのやり取りに問題があると判断ができます。今回、合致するのはこの可能性が高そうです。)

仮にファイル共有が遅いと判明した場合は、ファイル共有に絞って調査を行います。
追加で以下のような調査を行う必要があると考えます。

  • ファイル共有に絞ってボトルネックを調査します。(パケットキャプチャを利用)
  • ファイル共有をどのような状況で利用したときに遅いのか、詳細なヒアリングを行います。
  • どの程度の容量のデータを、どのような操作をしたときに遅いのか。

調査の結果で、対策を考えます。

3.対策について

ファイル共有が遅い場合の対策について、ある程度、原因が判明し、設定変更や現状の見直しで解決ができない場合の対策を検討します。
今回はCIFS(SMB)が潜在的に持つ問題であると仮定して、対策を検討しました。
以下のような対策を行うことで効果が期待できます。

3-1.現在のファイルサーバをWindows2012以上にアップグレードする。

SMB3.0で通信を行うことにより、ファイル共有の速度をアップします。

3-2.BranchCacheを利用する。

Windows2008以上から実装されているBranch Cache機能を利用します。
Branch Cacheは拠点側にファイルサーバのファイルキャッシュを持ち、通常はキャッシュへアクセスすることで速度を確保する方法です。
クライアント(分散キャッシュモード)でもサーバ(ホスト型キャッシュモード)でも実装が可能ですが、信頼性を考えるとサーバへキャッシュを配置したほうがよさそうです。
(マイクロソフトでは、クライアントが50台以下の台数を分散キャッシュモードの閾値とアナウンスしており、50台以上の場合はホスト型キャッシュモードを推奨するとのこと。一つの目安として参考にして下さい。)

この機能は次の対策と機能的には同じですが、コスト面から考えると、Windowsに実装されている機能を利用しますので、やや安価に導入が可能です。
実装に関しての問題としては、クライアントOSがWindows7/8のEnterprise/Ultimateの場合のみCIFSのキャッシュが可能となり、Professionalでは、BITS (バックグラウンドインテリジェントサービス)のみがキャッシュ対応となります。
EnterpriseやUltimateを導入している環境は、なかなかありませんので、ブランチキャッシュは導入に敷居が高いソリューションです。
効果に関しては、弊社で検証した限り、かなり優秀なパフォーマンスが出ていました。

3-3.WAN回線最適化アプライアンスを導入する。

WAN回線用のキャッシュアプライアンスを導入します。この手のアプライアンスは高価ですが、導入が簡単で、効果も期待できます。
riverbedやF5、CISCOなどのベンダーから様々な種類のWAN回線最適化アプライアンスがリリースされていますので、ニーズに合わせて選定することが可能です。

拠点が小規模な場合、「3-2.ブランチキャッシュを分散キャッシュモードで動作させる」構成が安価で良いのですが、クライアントOSがWindows7/8 Enterprise以上という制限があるので、ここをクリアできるかが、一つの壁になります。

そう考えると、最近、コストが安価になりつつある、「3-3.WAN最適化アプライアンスを導入する」が費用対効果が高いソリューションだと判断しました。

4.参考情報

現在、Windows Server 2003を実行している環境は殆どないかと思いますが、もし2003を運用している場合、合致する可能性がありますので、遅延に関係するKBを記載しておきます。

 Windows 2000 または Windows Server 2003 が実行されているドメイン コントローラにファイルをコピーすると、ネットワークのパフォーマンスが低下する

特定の環境において遅延ACKが発生し、ネットワークパフォーマンスが劣化するという内容。
この場合、レジストリの変更により、パフォーマンスを上げることが可能です。
WANを介したファイル共有はいくつかの潜在的な問題がありますので、今後、どのように対応していくか、難しいところです。

システムでお困りのお客様

もし、貴社で、

  • サポート切れのサーバやネットワーク機器の入れ替えをしたいが、どうしたらよいかわからない
  • サーバやネットワークの管理を行う社員がいないため困っている
  • 業務に利用している機器のセキュリティが大丈夫か心配
  • 機器の障害で、業務への影響が発生している
  • 社内の要望に対して、どのようなシステムを導入したらよいか解らない

など、サーバーやネットワーク、セキュリティでお悩みの方、新規のシステム導入を検討中の方。
多くのシステム構築を行い、成功させてきた実績をもつ弊社が、その問題を解決します。
お気軽にお問い合わせ頂き、貴社の問題解決にお役立てください。

お問い合わせ・ご相談はこちらから

Facebookでのご購読が便利です。

Twitter・Feedlyでもご購読できます。

Twitterでフォローする Feedlyでフォローする

関連する情報

vm-2012-guest

VMware Workstation 8 で Windows Server 2012 R2をゲストOSとして動作させる

先日、リリースされたばかりのWindows Server 2012 R2ですが、Windows

vm-win2012-install

Windows Server 2012 R2をインストールする時の手順

前回の記事「VMware Workstation バージョン8 で Windows Server

windows2012-settings-11

Windows Server 2012 R2を利用する前に始める11の作業

以前の記事「Windows Server 2012 R2をインストールする手順」でセットアップし

activedirectory-first

Windows Server 2012 R2へActive Directoryをインストール・構成する

以前の記事「Windows server 2012 R2を利用する前に始める10の作業」でWin

2008-C-drive

Windows Server 2008 R2でCドライブの空き容量を確保する

ここ最近、サーバOSとしてWindows Server 2008 R2を使うことも少しずつ減って

dns-reverse

Active Directoryをインストールした後に、必要なDNSの逆引きを設定する

「Windows Server 2012 R2へActive Directoryをインストール・

win2008-sysprep-top

Windows Server 2008 R2で仮想マシンを初期化、sysprepの実行手順

仮想化環境(ここでは主にVMWare ESXiやマイクロソフトのHyper-Vなどのhyperv

hyper-v-unconnect

Windowsの仮想サーバ管理ツール、Hyper-VマネージャーからGuestOSに接続できない

少し前に、Windows2008(R2)のhyper-V上に作成した仮想マシンのGuestOSに

ad-dsadd

CSVを利用してActive Directoryにユーザーを一括登録するコマンド

WindowsのActive Directoryに一括してユーザーを追加したい場合がありますよね

win2003-tapi-warning

Windows Server 2003 AD降格中にTAPIに関する警告が出力される

先日、Windows Server 2003 R2で構成されたWindowsドメインをWindo

Comment

  1. daikn より:

    古いエントリーに対してのコメント失礼します。

    Windows Server 2008ではSMB2.0に対応していないと思っています。
    また、クライアントOS側もSMB3.0に対応していないと、利用できずSMB3.0に対応しているWindowsは8からではないでしょうか。

    ということで、「対策について」の中点1つ目をご確認いただきたいです。

    • kom より:

      daikin様、コメント有難うございました。
      ご指摘のとおり、WIndows Server 2008でSMB2.0
      Windows Server 2008 R2でSMB2.1
      Windows Server 2012 で SMB3.0
      が正しく実装されている内容でした。
      頂きました内容を元に記事を修正致しました。

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • スポンサーリンク