Raspberry Pi 2(quad-core NAS Cortex-A7、1GB RAM、32GB microSD)で最近行ったARMをセットアップしたい)Raspbian“ Jessie”の実行:
Samba SMB)を使用してファイルを転送すると、HTTPを使用して同じファイルよりも遅い[3〜4倍]転送されるのはなぜですか?
ネットワーク速度が100Mbsであり、接続がUSB 2.0とWi-Fiの制限であるという制限があるため、ローカルネットワークから10-12Mib/s(それに近いとはいえ)は期待していませんが、少なくともそうする必要があります。これらすべてのボトルネックに加えて、外部にあるものがすべてあるインターネットよりも優れています。
Samba構成の問題でしょうか?
テスト結果[1.5Gbファイル転送速度]:
SB 3.:70-80MiB/s
USBのみ。
HP PavilionG6ラップトップのUSB3.0ポートに接続されたUSB3.0外付けハードドライブ。
Dolphinファイルマネージャーで転送されたファイル。
ソース:USB3.0ハードドライブ
宛先:HP PavilionG6ラップトップ
SB 2.:20-30MiB/s
USBのみ。
RaspberryPiのUSB2.0ポートに接続されたUSB3.0外付けハードドライブ。
Pv raspberry~$ pv source > destination
を使用してテストされたファイル。
イーサネットLAN: 8-9MiB/s
有線。
RaspberryPiのUSB2.0ポートに接続されたUSB3.0外付けハードドライブ。
イーサネットLAN経由でネットワークに接続されたHPPavilionG6ラップトップ。
Samba smb://
を使用して転送されたファイル。
ソース:USB3.0ハードドライブ
宛先:HP PavilionG6ラップトップ
インターネットファイル: 2-3MiB/s
Wi-Fi。
HTTP Wi-Fi LAN速度: 3-4MiB/s
Wi-Fi。
RaspberryPiのUSB2.0ポートに接続されたUSB3.0外付けハードドライブ。
802.11b/g/nWi-Fi経由でネットワークに接続されたHPPavilionG6ラップトップ。
ApacheWebサーバー上のファイルhttp://
。
ソース:USB3.0ハードドライブ
宛先:HP PavilionG6ラップトップ
NFS Wi-Fi LAN速度: 3-4MiB/s
Wi-Fi。
RaspberryPiのUSB2.0ポートに接続されたUSB3.0外付けハードドライブ。
802.11b/g/nWi-Fi経由でネットワークに接続されたHPPavilionG6ラップトップ。
Dolphinファイルマネージャーで転送されたファイル。
ソース:USB3.0ハードドライブ
宛先:HP PavilionG6ラップトップ
FTP Wi-Fi LAN速度: 2-4MiB/s
Wi-Fi。
RaspberryPiのUSB2.0ポートに接続されたUSB3.0外付けハードドライブ。
802.11b/g/nWi-Fi経由でネットワークに接続されたHPPavilionG6ラップトップ。
Vsftpサーバー上のファイルftp://
。
ソース:USB3.0ハードドライブ
宛先:HP PavilionG6ラップトップ
SMB Wi-Fi LAN速度: <900KiB/s
Wi-Fi。
RaspberryPiのUSB2.0ポートに接続されたUSB3.0外付けハードドライブ。
802.11b/g/nWi-Fi経由でネットワークに接続されたHPPavilionG6ラップトップ。
Samba smb://
を使用して転送されたファイル。
ソース:USB3.0ハードドライブ
宛先:HP PavilionG6ラップトップ
どうすればこれを改善できますか?
これが私のラップトップでのiwconfig
の出力です。
wlan0 IEEE 802.11bgn ESSID:"Irk"
Mode:Managed Frequency:2.412 GHz Access Point: 34:31:C4:02:46:2D
Bit Rate=65 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=63/70 Signal level=-47 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:1369 Invalid misc:12350 Missed beacon:0
dmesg | grep eth0
を介したRaspberryPiのネットワーク接続に関する情報は次のとおりです。
smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
Piで使用されるSoCデバイスにはイーサネットのサポートが組み込まれていないため、Piのイーサネット機能はUSBイーサネットチップによって提供され、接続した他のUSB周辺機器(USBを含む)と同じUSBバスを共有します。フラッシュドライブ)。これが恐らくあなたがひどいパフォーマンスを見る主な理由です。
解決?残念ながら何もありません、それはハードウェアの制限です。ハードドライブの速度やネットワーク設定とは何の関係もありません。PiのUSBバスは、ディスクとイーサネットの両方が同時に実行されている状態で限界に達します。
NASのセットアップにもう少し投資して、実際にイーサネットが組み込まれているシングルボードコンピューターを購入することをお勧めします。ギガビットイーサネットをサポートするプラットフォームがいくつかあります。
TLDR:SMB&AFPは暗号化が大きく、実際にはファイルのインデックスを表示するだけではありません。FTPとNFSは、リストを提供して作業を完了するためだけにあります。RPI別のコメントで述べたように、ハードウェアはすべてのI/Oデータを移動するUSBバスに制限されていますが、2〜4 Mbpsはガルボなので、クライアントを確認してすべてのソフトウェアを更新してください。
どのハードウェアが使用されているかは問題ではないようです。Sambaは単に遅いです。 AFP(Apple File Protocol)は良くありません。私は、2008年からWindowsとMacの両方を使用してAFPとSMB)を使用しています。特に、Linuxが実際に使用されているため、Linuxの自由度が増していることは明らかです。ラップトップのwifi機能が改善され、経済はCHIPやRPIなどを耳にします。しかし重要なのは、SMB、AFP、NFS、FTPにはすべて欠点があります。SMB一部のセキュリティ機能を削除すると、AFPでも同じことが言えます。FTPの改善が見られる理由は、転送が非常に簡単で、暗号化されたハンドシェイクがないためです。NFSはファイルをロックし、FTPと同様の機能は「開く」ために作成されていません。 "(ホストマシンからメモリにコピー)およびファイルの編集。SMBおよびホストマシンを参照しているかのように動作するように設計されたAFPとは異なります。
質問で提供された詳細に基づいて、ローカル転送速度に影響を与える可能性のあるいくつかの要因があります。
問題を切り分けるためにできること:
仮定:
簡単に言えば、NFS、FTP、およびHTTPは、以前のバージョンのSMBよりもスリムなプロトコルです。 FTPをファイル転送に使用することは常に推奨しますが、FTPはSMB)よりもスリムである可能性があるため、リモートストレージを安全にする機能の多くが欠けています。
SMBの新しいバージョンでは、NFSとのインライン化が進んでいますが、かなり古いSamba 3.xを実行しているようです(セットアップははるかに簡単ですが)。
スループットについて説明している間、Linuxes NTFSドライバーはFuseで実行されるntfs3gであるため、RaspberryPiでNTFSを実行しないこともお勧めします。 Fuseを知らない人にとっては、開発者がカーネルモジュールを作成するのではなく、Fuseラッパーを介してユーザースペースで実行されるファイルシステムドライバーを作成する方法です。つまり、ドライバーをより速く、より安全に、より興味深い方法で作成できます(たとえば、テキストファイルの内容を仮想ファイルシステムに変換するFuseドライバーを作成しました)が、データを常に交換しているため、コストがかかります。カーネルとユーザースペース。これはPCではあまり目立たなくなります-そしてntfs3gもかなりよく書かれているので役立ちます-しかし、Raspberry Piのようなフットプリントの小さいデバイスでは、余分なCPUとメモリのオーバーヘッドがLinuxネイティブファイルからのストリーミングデータと比較してパフォーマンスに悪影響を及ぼしますext3/4やXFSのようなシステム。