ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

Windows ServerとLinuxのNFSサーバのパフォーマンス、速度の比較、ベンチマーク

Windows ServerとLinuxNFSサーバのパフォーマンス、速度の比較、ベンチマークに関する情報を探していたのですが、かなり詳細に書かれたサイトがあったので紹介します。

 

情報元はこちら。

 

WindowsNFSとLinuxNFSのパフォーマンスの比較

https://www.rootusers.com/windows-nfs-vs-linux-nfs-performance-comparison/

 

基本的に、Windowsサーバでファイルサーバを構築する場合は、SMBを使うと思います。ただ、NFSサーバ自体も構築できます。仮に、Linuxなどから接続させたい場合に使えますね。

 

以前、実際に使ってみたのですが、大容量ファイルならWindowsに関して言えば、NFSよりSMBに軍配があがりました。小さいファイルはNFSのほうが得意みたいです。

 

では、OSの違いによる結果って気になりますよね。

 

テスト環境です。

 

linux-client – 192.168.0.10:ここからすべてのベンチマークが実行されます。linux-clientはCentOS7.1を実行します。
linux-server – 192.168.0.20:これはCentOS7.1で実行されているLinuxNFSサーバーです
windows-server – 192.168.0.30:これはWindows 2012 R2 Data CenterEditionで実行されているWindowsNFSサーバーです
すべてのサーバーは2GBのメモリと2つのCPUコアで実行されており、執筆時点ではすべて完全に最新でした。すべてのマシンは同じハードウェア上で同じリソースレベルで実行されていました。この方法では、オペレーティングシステムとそのNFS実装が主な違いであり、すべてが可能な限り平等で公平です。これはまさにここでベンチマークしているものです。

NFSサーバーはNFSバージョン4.1でマウントをエクスポートしています。さらに、linux-clientサーバーは「vers = 4.1」を指定してNFSマウントポイントをマウントし、4.1としてマウントされていることを確認します。

 

Windows Server 2012なので少し古い情報になりますが、Windows Server 2019の最新のNFSも4.1です。

 

 

ベンチマークに関する情報です。

 

ベンチマークは、NFSベンチマークで高い評価を得ているファイルシステムベンチマークツールであるIOzoneを使用して実行されました。

この例では、IOzoneを使用したベンチマーク、順次読み取り、順次書き込み、ランダム読み取り、およびランダム書き込みを行います。これらは、IOzoneドキュメントから以下のように定義されています。

読み取り:このテストは、既存のファイルの読み取りのパフォーマンスを測定します。
書き込み:このテストは、新しいファイルの書き込みのパフォーマンスを測定します。新しいファイルが書き込まれるとき、データを保存する必要があるだけでなく、データがストレージメディア上のどこにあるかを追跡するためのオーバーヘッド情報も必要です。このオーバーヘッドは「メタデータ」と呼ばれます。これは、ディレクトリ情報、スペース割り当て、およびファイルに含まれるデータの一部ではないファイルに関連付けられたその他のデータで構成されます。このオーバーヘッド情報のために、初期書き込みパフォーマンスがファイルの再書き込みパフォーマンスよりも低くなるのは正常です。
ランダム読み取り:このテストは、ファイル内のランダムな場所にアクセスしてファイルを読み取るパフォーマンスを測定します。このタイプのアクティビティでのシステムのパフォーマンスは、オペレーティングシステムのキャッシュのサイズ、ディスクの数、シークの待ち時間など、いくつかの要因によって影響を受ける可能性があります。
ランダム書き込み:このテストは、ファイル内のランダムな場所にアクセスしてファイルを書き込むパフォーマンスを測定します。この場合も、このタイプのアクティビティでのシステムのパフォーマンスは、オペレーティングシステムのキャッシュのサイズ、ディスクの数、シークの待ち時間など、いくつかの要因によって影響を受ける可能性があります。
読み取り/書き込みテストがシーケンシャルであるかどうかのドキュメントが明確ではなかったため、これらのテストが実際にシーケンシャルであることを確認できたIOzone開発者の1人にメッセージを送信しました。

 

IOzoneって初めて知りました。機会があったら使ってみます。

 

 

結論ですが、Linuxサーバのほうが優れていたそうです。

 

結論
さまざまなテストで示されているように、Linuxサーバー上のNFSは、ほとんどの読み取りおよび書き込みテストで、WindowsベースのNFSよりも一貫して優れています。シーケンシャル書き込みテスト中、Windows NFSサーバーはファイルが大きいほどパフォーマンスが少し速くなりましたが、Linux NFSサーバーのシーケンシャル書き込み速度は、ファイルサイズが小さい場合でも、はるかに一貫性があり、全体的に高速でした。ランダム書き込みでは、レコードサイズが小さい大きなファイルを処理するときのWindowsサーバーのパフォーマンスは、ほとんど低下しなかったLinuxサーバーと比較して大幅に低下しました。

両方のサーバーの順次読み取りテストは、ネットワーク接続が最大化されたため、かなり類似していましたが、これでも、全体的にはるかに一貫性のあるLinux NFSサーバーと比較して、Windowsテストでより多くのパフォーマンスの低下が見られました。Windowsサーバーのランダム読み取りテストは、すべての結果の中で最悪でした。大きなファイルの読み取りが速くなる傾向がありますが、結果は、パフォーマンスがいたるところにあることを明確に示しています。比較したLinuxサーバーのグラフは、パフォーマンスの低下がはるかに少なく、最高速度が速いというスムーズな上昇でした。

Windows NFSサーバーでのテストの一部は、ファイルサイズが大きい場合にわずかに高速に実行されましたが、ファイルサイズのさまざまな選択での全体的な結果は、Linux NFSサーバーと比較すると、はるかに多様で遅くなりました。なぜこれが当てはまるのかを知りたいと思います。私の観察から、唯一の違いはオペレーティングシステムと、それぞれがNFSバージョン4.1を実装する方法にあるように思われます。サーバーは、同じリソースを備えた同じハードウェアで実行されていました。ネットワーク帯域幅Windowsでのパフォーマンスの低下による処理方法の制限に達した場合でも、生のNFS読み取りおよび書き込みパフォーマンスに関してはLinuxが全体的な勝者であることを示しています。

Windows環境では、SMB / CIFSが推奨される可能性が高く、ネイティブオプションですが、NFSは通常UNIXベースの環境で使用されます。これは、さまざまな機能の側面など、ここでテストされた生のパフォーマンス以外の多くの理由による可能性があります。パフォーマンスだけが要因ではないことは間違いありませんが、混合オペレーティングシステム環境を実行している場合は、パフォーマンスを考慮することが重要です。

 

まぁ、必要性がなければ敢えてWindowsNFSサーバを利用する必要はないということですね。

 

ロジクール ワイヤレスマウス 無線 マウス M185CG 小型 電池寿命最大12ケ月 無線マウス M185 グレー 国内正規品