MACからファイルサーバー(Raspberry Pi)へアクセスしてバックアップデータ等のやり取り等をしているのですが、転送速度が非常に遅いことがよくあります。
ファイルサーバーにある400MBのデータをMACに移動するのに1時間くらいかかったりします。
同じ処理をWindowsでやると2分くらいで完了します。
ファイルサーバーの構成
外付けハードディスク2台(1台はミラーリング)をつなげたRaspberry Pi
有線LAN(CAT6)でRaspberry Piにアクセスする
100MbpsのLANアダプタなので100Mbps(12MBs)が最高速度。
400MBのデータの場合、理想値だと400/12 = 33秒でファイルの移動(コピー)ができるはず。
Windowsの場合、4MBsのスピードになって、ダウンロードするのに1分30秒くらいかかった。
Raspberry Piのファイルサーバーには、WebサーバーとしてもWebカメラを使ってCPUの7割使ってるから、それもあって、Windowsの場合でも転送速度が4MBsくらになっちゃうんかなと思います。ファイルサーバーだけの場合は6MBsくらいまで転送速度が出るそうです。
MACの超遅い転送速度の対処法
MACとRaspberry Piのファイルサーバーとの転送速度は、0.11MBsくらい。超遅い。たまに10倍くらい早くなったりする。
いい加減頭にきたので、Googleで対処法を調べました。その結果、下記の2つのサイトを参考にしたらMACで4MBsくらいの転送スピードでファイルサーバーとアクセスすことができるようになりました。
参考サイト
MacからNASとかWindowsの共有フォルダへのアクセスが妙に遅いのを解決する
MacでSamba, NASの接続が遅い時の対処法まとめ
まず最初にMACのターミナルを開いて設定をします。
sudo sysctl -w net.inet.tcp.delayed_ack=0 sudo vim /etc/sysctl.conf //下記を追記して保存する net.inet.tcp.delayed_ack=0
delayed_ackをゼロにすると、どこかで不具合が出るかもしれないらしいですが、見た感じ不具合が出ていないので気にしない。初期値は3なので、何か不具合が出たときに下記のように戻してみる。。
delayed_ackをゼロにして不具合が出た時の戻し方。
sudo sysctl -w net.inet.tcp.delayed_ack=3 sudo vim /etc/sysctl.conf //下記に変更するか、net.inet.tcp.delayed_ack=0を削除する。 net.inet.tcp.delayed_ack=3
Raspberry PiのSambaの設定を少しいじくる。
sudo vim /etc/samba/smb.conf [global] max protocol = SMB2 sudo service samba restart
とりあえず上記の2つを試してみたら、MACとファイルサーバーとの間の転送速度が4MBsくらいになりました。両方いっぺんに設定して試してしまったので、どちらか片方は不要な設定かもしれません。とりあえず不満がなくなったので良しとします!
コメントを残す